<?xml version="1.0" encoding="utf-8"?>
<!-- Dynamically generated list of documented parameters (generated by param_parse.py) -->
<paramfile>
  <vehicles>
    <parameters name="ArduCopter">
      <param humanName="Eeprom format version number" name="ArduCopter:FORMAT_VERSION" documentation="This value is incremented when changes are made to the eeprom format" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="MAVLink system ID of this vehicle" name="ArduCopter:SYSID_THISMAV" documentation="Allows setting an individual MAVLink system id for this vehicle to distinguish it from others on the same network" user="Advanced">
        <field name="Range">1 255</field>
      </param>
      <param humanName="My ground station number" name="ArduCopter:SYSID_MYGCS" documentation="Allows restricting radio overrides to only come from my ground station" user="Advanced">
        <field name="Range">1 255</field>
      </param>
      <param humanName="Throttle filter cutoff" name="ArduCopter:PILOT_THR_FILT" documentation="Throttle filter cutoff (Hz) - active whenever altitude control is inactive - 0 to disable" user="Advanced">
        <field name="Range">0 10</field>
        <field name="Increment">.5</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Pilot takeoff altitude" name="ArduCopter:PILOT_TKOFF_ALT" documentation="Altitude that altitude control modes will climb to when a takeoff is triggered with the throttle stick." user="Standard">
        <field name="Range">0.0 1000.0</field>
        <field name="Increment">10</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Throttle stick behavior" name="ArduCopter:PILOT_THR_BHV" documentation="Bitmask containing various throttle stick options. TX with sprung throttle can set PILOT_THR_BHV to &quot;1&quot; so motor feedback when landed starts from mid-stick instead of bottom of stick." user="Standard">
        <field name="Bitmask">0:Feedback from mid stick,1:High throttle cancels landing,2:Disarm on land detection</field>
        <values>
          <value code="0">None</value>
          <value code="1">Feedback from mid stick</value>
          <value code="2">High throttle cancels landing</value>
          <value code="4">Disarm on land detection</value>
        </values>
      </param>
      <param humanName="Telemetry startup delay" name="ArduCopter:TELEM_DELAY" documentation="The amount of time (in seconds) to delay radio telemetry to prevent an Xbee bricking on power up" user="Advanced">
        <field name="Range">0 30</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="GCS PID tuning mask" name="ArduCopter:GCS_PID_MASK" documentation="bitmask of PIDs to send MAVLink PID_TUNING messages for" user="Advanced">
        <field name="Bitmask">0:Roll,1:Pitch,2:Yaw,3:AccelZ</field>
        <values>
          <value code="0">None</value>
          <value code="1">Roll</value>
          <value code="2">Pitch</value>
          <value code="4">Yaw</value>
          <value code="8">AccelZ</value>
        </values>
      </param>
      <param humanName="RTL Altitude" name="ArduCopter:RTL_ALT" documentation="The minimum alt above home the vehicle will climb to before returning.  If the vehicle is flying higher than this value it will return at its current altitude." user="Standard">
        <field name="Range">200 300000</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="RTL cone slope" name="ArduCopter:RTL_CONE_SLOPE" documentation="Defines a cone above home which determines maximum climb" user="Standard">
        <field name="Range">0.5 10.0</field>
        <values>
          <value code="0">Disabled</value>
          <value code="1">Shallow</value>
          <value code="3">Steep</value>
        </values>
        <field name="Increment">.1</field>
      </param>
      <param humanName="RTL speed" name="ArduCopter:RTL_SPEED" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain horizontally while flying home. If this is set to zero, WPNAV_SPEED will be used instead." user="Standard">
        <field name="Range">0 2000</field>
        <field name="Increment">50</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="RTL Final Altitude" name="ArduCopter:RTL_ALT_FINAL" documentation="This is the altitude the vehicle will move to as the final stage of Returning to Launch or after completing a mission.  Set to zero to land." user="Standard">
        <field name="Range">0 1000</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="RTL minimum climb" name="ArduCopter:RTL_CLIMB_MIN" documentation="The vehicle will climb this many cm during the initial climb portion of the RTL" user="Standard">
        <field name="Range">0 3000</field>
        <field name="Increment">10</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="RTL loiter time" name="ArduCopter:RTL_LOIT_TIME" documentation="Time (in milliseconds) to loiter above home before beginning final descent" user="Standard">
        <field name="Range">0 60000</field>
        <field name="Increment">1000</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="RTL mode altitude type" name="ArduCopter:RTL_ALT_TYPE" documentation="RTL altitude type.  Set to 1 for Terrain following during RTL and then set WPNAV_RFND_USE=1 to use rangefinder or WPNAV_RFND_USE=0 to use Terrain database" user="Standard">
        <values>
          <value code="0">Relative to Home</value>
          <value code="1">Terrain</value>
        </values>
      </param>
      <param humanName="Ground Station Failsafe Enable" name="ArduCopter:FS_GCS_ENABLE" documentation="Controls whether failsafe will be invoked (and what action to take) when connection with Ground station is lost for at least 5 seconds. See FS_OPTIONS param for additional actions, or for cases allowing Mission continuation, when GCS failsafe is enabled." user="Standard">
        <values>
          <value code="0">Disabled/NoAction</value>
          <value code="1">RTL</value>
          <value code="2">RTL or Continue with Mission in Auto Mode (Removed in 4.0+-see FS_OPTIONS)</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Land</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="GPS Hdop Good" name="ArduCopter:GPS_HDOP_GOOD" documentation="GPS Hdop value at or below this value represent a good position.  Used for pre-arm checks" user="Advanced">
        <field name="Range">100 900</field>
      </param>
      <param humanName="Super Simple Mode" name="ArduCopter:SUPER_SIMPLE" documentation="Bitmask to enable Super Simple mode for some flight modes. Setting this to Disabled(0) will disable Super Simple Mode. The bitmask is for flight mode switch positions" user="Standard">
        <field name="Bitmask">0:SwitchPos1, 1:SwitchPos2, 2:SwitchPos3, 3:SwitchPos4, 4:SwitchPos5, 5:SwitchPos6</field>
      </param>
      <param humanName="Yaw behaviour during missions" name="ArduCopter:WP_YAW_BEHAVIOR" documentation="Determines how the autopilot controls the yaw during missions and RTL" user="Standard">
        <values>
          <value code="0">Never change yaw</value>
          <value code="1">Face next waypoint</value>
          <value code="2">Face next waypoint except RTL</value>
          <value code="3">Face along GPS course</value>
        </values>
      </param>
      <param humanName="Land speed" name="ArduCopter:LAND_SPEED" documentation="The descent speed for the final stage of landing in cm/s" user="Standard">
        <field name="Range">30 200</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Land speed high" name="ArduCopter:LAND_SPEED_HIGH" documentation="The descent speed for the first stage of landing in cm/s. If this is zero then WPNAV_SPEED_DN is used" user="Standard">
        <field name="Range">0 500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Pilot maximum vertical speed ascending" name="ArduCopter:PILOT_SPEED_UP" documentation="The maximum vertical ascending velocity the pilot may request in cm/s" user="Standard">
        <field name="Range">50 500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Pilot vertical acceleration" name="ArduCopter:PILOT_ACCEL_Z" documentation="The vertical acceleration used when pilot is controlling the altitude" user="Standard">
        <field name="Range">50 500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s/s</field>
        <field name="UnitText">centimeters per square second</field>
      </param>
      <param humanName="Throttle Failsafe Enable" name="ArduCopter:FS_THR_ENABLE" documentation="The throttle failsafe allows you to configure a software failsafe activated by a setting on the throttle input channel" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled always RTL</value>
          <value code="2">Enabled Continue with Mission in Auto Mode (Removed in 4.0+)</value>
          <value code="3">Enabled always Land</value>
          <value code="4">Enabled always SmartRTL or RTL</value>
          <value code="5">Enabled always SmartRTL or Land</value>
          <value code="6">Enabled Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Throttle Failsafe Value" name="ArduCopter:FS_THR_VALUE" documentation="The PWM level in microseconds on channel 3 below which throttle failsafe triggers" user="Standard">
        <field name="Range">910 1100</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Throttle deadzone" name="ArduCopter:THR_DZ" documentation="The deadzone above and below mid throttle in PWM microseconds. Used in AltHold, Loiter, PosHold flight modes" user="Standard">
        <field name="Range">0 300</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Flight Mode 1" name="ArduCopter:FLTMODE1" documentation="Flight mode when pwm of Flightmode channel(FLTMODE_CH) is &lt;= 1230" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">Smart_RTL</value>
          <value code="22">FlowHold</value>
          <value code="23">Follow</value>
          <value code="24">ZigZag</value>
          <value code="25">SystemID</value>
          <value code="26">Heli_Autorotate</value>
          <value code="27">Auto RTL</value>
        </values>
      </param>
      <param humanName="Flight Mode 2" name="ArduCopter:FLTMODE2" documentation="Flight mode when pwm of Flightmode channel(FLTMODE_CH) is &gt;1230, &lt;= 1360" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">Smart_RTL</value>
          <value code="22">FlowHold</value>
          <value code="23">Follow</value>
          <value code="24">ZigZag</value>
          <value code="25">SystemID</value>
          <value code="26">Heli_Autorotate</value>
          <value code="27">Auto RTL</value>
        </values>
      </param>
      <param humanName="Flight Mode 3" name="ArduCopter:FLTMODE3" documentation="Flight mode when pwm of Flightmode channel(FLTMODE_CH) is &gt;1360, &lt;= 1490" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">Smart_RTL</value>
          <value code="22">FlowHold</value>
          <value code="23">Follow</value>
          <value code="24">ZigZag</value>
          <value code="25">SystemID</value>
          <value code="26">Heli_Autorotate</value>
          <value code="27">Auto RTL</value>
        </values>
      </param>
      <param humanName="Flight Mode 4" name="ArduCopter:FLTMODE4" documentation="Flight mode when pwm of Flightmode channel(FLTMODE_CH) is &gt;1490, &lt;= 1620" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">Smart_RTL</value>
          <value code="22">FlowHold</value>
          <value code="23">Follow</value>
          <value code="24">ZigZag</value>
          <value code="25">SystemID</value>
          <value code="26">Heli_Autorotate</value>
          <value code="27">Auto RTL</value>
        </values>
      </param>
      <param humanName="Flight Mode 5" name="ArduCopter:FLTMODE5" documentation="Flight mode when pwm of Flightmode channel(FLTMODE_CH) is &gt;1620, &lt;= 1749" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">Smart_RTL</value>
          <value code="22">FlowHold</value>
          <value code="23">Follow</value>
          <value code="24">ZigZag</value>
          <value code="25">SystemID</value>
          <value code="26">Heli_Autorotate</value>
          <value code="27">Auto RTL</value>
        </values>
      </param>
      <param humanName="Flight Mode 6" name="ArduCopter:FLTMODE6" documentation="Flight mode when pwm of Flightmode channel(FLTMODE_CH) is &gt;=1750" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">Smart_RTL</value>
          <value code="22">FlowHold</value>
          <value code="23">Follow</value>
          <value code="24">ZigZag</value>
          <value code="25">SystemID</value>
          <value code="26">Heli_Autorotate</value>
          <value code="27">Auto RTL</value>
        </values>
      </param>
      <param humanName="Flightmode channel" name="ArduCopter:FLTMODE_CH" documentation="RC Channel to use for flight mode control" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="5">Channel5</value>
          <value code="6">Channel6</value>
          <value code="7">Channel7</value>
          <value code="8">Channel8</value>
          <value code="9">Channel9</value>
          <value code="10">Channel 10</value>
          <value code="11">Channel 11</value>
          <value code="12">Channel 12</value>
          <value code="13">Channel 13</value>
          <value code="14">Channel 14</value>
          <value code="15">Channel 15</value>
        </values>
      </param>
      <param humanName="Initial flight mode" name="ArduCopter:INITIAL_MODE" documentation="This selects the mode to start in on boot. This is useful for when you want to start in AUTO mode on boot without a receiver." user="Advanced">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">Smart_RTL</value>
          <value code="22">FlowHold</value>
          <value code="23">Follow</value>
          <value code="24">ZigZag</value>
          <value code="25">SystemID</value>
          <value code="26">Heli_Autorotate</value>
        </values>
      </param>
      <param humanName="Simple mode bitmask" name="ArduCopter:SIMPLE" documentation="Bitmask which holds which flight modes use simple heading mode (eg bit 0 = 1 means Flight Mode 0 uses simple mode). The bitmask is for flightmode switch positions." user="Advanced">
        <field name="Bitmask">0:SwitchPos1, 1:SwitchPos2, 2:SwitchPos3, 3:SwitchPos4, 4:SwitchPos5, 5:SwitchPos6</field>
      </param>
      <param humanName="Log bitmask" name="ArduCopter:LOG_BITMASK" documentation="4 byte bitmap of log types to enable" user="Standard">
        <field name="Bitmask">0:ATTITUDE_FAST,1:ATTITUDE_MED,2:GPS,3:PM,4:CTUN,5:NTUN,6:RCIN,7:IMU,8:CMD,9:CURRENT,10:RCOUT,11:OPTFLOW,12:PID,13:COMPASS,14:INAV,15:CAMERA,17:MOTBATT,18:IMU_FAST,19:IMU_RAW,20:VideoStabilization</field>
      </param>
      <param humanName="ESC Calibration" name="ArduCopter:ESC_CALIBRATION" documentation="Controls whether ArduCopter will enter ESC calibration on the next restart.  Do not adjust this parameter manually." user="Advanced">
        <values>
          <value code="0">Normal Start-up</value>
          <value code="1">Start-up in ESC Calibration mode if throttle high</value>
          <value code="2">Start-up in ESC Calibration mode regardless of throttle</value>
          <value code="3">Start-up and automatically calibrate ESCs</value>
          <value code="9">Disabled</value>
        </values>
      </param>
      <param humanName="Channel 6 Tuning" name="ArduCopter:TUNE" documentation="Controls which parameters (normally PID gains) are being tuned with transmitter's channel 6 knob" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Stab Roll/Pitch kP</value>
          <value code="4">Rate Roll/Pitch kP</value>
          <value code="5">Rate Roll/Pitch kI</value>
          <value code="21">Rate Roll/Pitch kD</value>
          <value code="3">Stab Yaw kP</value>
          <value code="6">Rate Yaw kP</value>
          <value code="26">Rate Yaw kD</value>
          <value code="56">Rate Yaw Filter</value>
          <value code="55">Motor Yaw Headroom</value>
          <value code="14">AltHold kP</value>
          <value code="7">Throttle Rate kP</value>
          <value code="34">Throttle Accel kP</value>
          <value code="35">Throttle Accel kI</value>
          <value code="36">Throttle Accel kD</value>
          <value code="12">Loiter Pos kP</value>
          <value code="22">Velocity XY kP</value>
          <value code="28">Velocity XY kI</value>
          <value code="10">WP Speed</value>
          <value code="25">Acro Roll/Pitch deg/s</value>
          <value code="40">Acro Yaw deg/s</value>
          <value code="45">RC Feel</value>
          <value code="13">Heli Ext Gyro</value>
          <value code="38">Declination</value>
          <value code="39">Circle Rate</value>
          <value code="46">Rate Pitch kP</value>
          <value code="47">Rate Pitch kI</value>
          <value code="48">Rate Pitch kD</value>
          <value code="49">Rate Roll kP</value>
          <value code="50">Rate Roll kI</value>
          <value code="51">Rate Roll kD</value>
          <value code="52">Rate Pitch FF</value>
          <value code="53">Rate Roll FF</value>
          <value code="54">Rate Yaw FF</value>
          <value code="58">SysID Magnitude</value>
        </values>
      </param>
      <param humanName="Frame Type (+, X, V, etc)" name="ArduCopter:FRAME_TYPE" documentation="Controls motor mixing for multicopters.  Not used for Tri or Traditional Helicopters." user="Standard">
        <values>
          <value code="0">Plus</value>
          <value code="1">X</value>
          <value code="2">V</value>
          <value code="3">H</value>
          <value code="4">V-Tail</value>
          <value code="5">A-Tail</value>
          <value code="10">Y6B</value>
          <value code="11">Y6F</value>
          <value code="12">BetaFlightX</value>
          <value code="13">DJIX</value>
          <value code="14">ClockwiseX</value>
          <value code="15">I</value>
          <value code="18">BetaFlightXReversed</value>
          <value code="19">Y4</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Disarm delay" name="ArduCopter:DISARM_DELAY" documentation="Delay before automatic disarm in seconds. A value of zero disables auto disarm." user="Advanced">
        <field name="Range">0 127</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Angle Max" name="ArduCopter:ANGLE_MAX" documentation="Maximum lean angle in all flight modes" user="Advanced">
        <field name="Range">1000 8000</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="PosHold braking rate" name="ArduCopter:PHLD_BRAKE_RATE" documentation="PosHold flight mode's rotation rate during braking in deg/sec" user="Advanced">
        <field name="Range">4 12</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="PosHold braking angle max" name="ArduCopter:PHLD_BRAKE_ANGLE" documentation="PosHold flight mode's max lean angle during braking in centi-degrees" user="Advanced">
        <field name="Range">2000 4500</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Land repositioning" name="ArduCopter:LAND_REPOSITION" documentation="Enables user input during LAND mode, the landing phase of RTL, and auto mode landings." user="Advanced">
        <values>
          <value code="0">No repositioning</value>
          <value code="1">Repositioning</value>
        </values>
      </param>
      <param humanName="EKF Failsafe Action" name="ArduCopter:FS_EKF_ACTION" documentation="Controls the action that will be taken when an EKF failsafe is invoked" user="Advanced">
        <values>
          <value code="1">Land</value>
          <value code="2">AltHold</value>
          <value code="3">Land even in Stabilize</value>
        </values>
      </param>
      <param humanName="EKF failsafe variance threshold" name="ArduCopter:FS_EKF_THRESH" documentation="Allows setting the maximum acceptable compass and velocity variance" user="Advanced">
        <values>
          <value code="0.6">Strict</value>
          <value code="0.8">Default</value>
          <value code="1.0">Relaxed</value>
        </values>
      </param>
      <param humanName="Crash check enable" name="ArduCopter:FS_CRASH_CHECK" documentation="This enables automatic crash checking. When enabled the motors will disarm if a crash is detected." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESC Update Speed" name="ArduCopter:RC_SPEED" documentation="This is the speed in Hertz that your ESCs will receive updates" user="Advanced">
        <field name="Range">50 490</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Acro Balance Roll" name="ArduCopter:ACRO_BAL_ROLL" documentation="rate at which roll angle returns to level in acro and sport mode.  A higher value causes the vehicle to return to level faster. For helicopter sets the decay rate of the virtual flybar in the roll axis. A higher value causes faster decay of desired to actual attitude." user="Advanced">
        <field name="Range">0 3</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Acro Balance Pitch" name="ArduCopter:ACRO_BAL_PITCH" documentation="rate at which pitch angle returns to level in acro and sport mode.  A higher value causes the vehicle to return to level faster. For helicopter sets the decay rate of the virtual flybar in the pitch axis. A higher value causes faster decay of desired to actual attitude." user="Advanced">
        <field name="Range">0 3</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Acro Trainer" name="ArduCopter:ACRO_TRAINER" documentation="Type of trainer used in acro mode" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Leveling</value>
          <value code="2">Leveling and Limited</value>
        </values>
      </param>
      <param humanName="Acro Roll/Pitch Expo" name="ArduCopter:ACRO_RP_EXPO" documentation="Acro roll/pitch Expo to allow faster rotation when stick at edges" user="Advanced">
        <field name="Range">-0.5 0.95</field>
        <values>
          <value code="0">Disabled</value>
          <value code="0.1">Very Low</value>
          <value code="0.2">Low</value>
          <value code="0.3">Medium</value>
          <value code="0.4">High</value>
          <value code="0.5">Very High</value>
        </values>
      </param>
      <param humanName="Start motors before throwing is detected" name="ArduCopter:THROW_MOT_START" documentation="Used by Throw mode. Controls whether motors will run at the speed set by MOT_SPIN_MIN or will be stopped when armed and waiting for the throw." user="Standard">
        <values>
          <value code="0">Stopped</value>
          <value code="1">Running</value>
        </values>
      </param>
      <param humanName="Minimum navigation altitude" name="ArduCopter:WP_NAVALT_MIN" documentation="This is the altitude in meters above which for navigation can begin. This applies in auto takeoff and auto landing." user="Standard">
        <field name="Range">0 5</field>
      </param>
      <param humanName="Throw mode's follow up mode" name="ArduCopter:THROW_NEXTMODE" documentation="Vehicle will switch to this mode after the throw is successfully completed.  Default is to stay in throw mode (18)" user="Standard">
        <values>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">LOITER</value>
          <value code="6">RTL</value>
          <value code="9">Land</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
        </values>
      </param>
      <param humanName="Type of Type" name="ArduCopter:THROW_TYPE" documentation="Used by Throw mode. Specifies whether Copter is thrown upward or dropped." user="Standard">
        <values>
          <value code="0">Upward Throw</value>
          <value code="1">Drop</value>
        </values>
      </param>
      <param humanName="Ground Effect Compensation Enable/Disable" name="ArduCopter:GND_EFFECT_COMP" documentation="Ground Effect Compensation Enable/Disable" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Development options" name="ArduCopter:DEV_OPTIONS" documentation="Bitmask of developer options. The meanings of the bit fields in this parameter may vary at any time. Developers should check the source code for current meaning" user="Advanced">
        <field name="Bitmask">0:ADSBMavlinkProcessing,1:DevOptionVFR_HUDRelativeAlt</field>
      </param>
      <param humanName="Acro Yaw Expo" name="ArduCopter:ACRO_Y_EXPO" documentation="Acro yaw expo to allow faster rotation when stick at edges" user="Advanced">
        <field name="Range">-1.0 0.95</field>
        <values>
          <value code="0">Disabled</value>
          <value code="0.1">Very Low</value>
          <value code="0.2">Low</value>
          <value code="0.3">Medium</value>
          <value code="0.4">High</value>
          <value code="0.5">Very High</value>
        </values>
      </param>
      <param humanName="Acro Thr Mid" name="ArduCopter:ACRO_THR_MID" documentation="Acro Throttle Mid" user="Advanced">
        <field name="Range">0 1</field>
      </param>
      <param humanName="GCS sysid enforcement" name="ArduCopter:SYSID_ENFORCE" documentation="This controls whether packets from other than the expected GCS system ID will be accepted" user="Advanced">
        <values>
          <value code="0">NotEnforced</value>
          <value code="1">Enforced</value>
        </values>
      </param>
      <param humanName="Frame Class" name="ArduCopter:FRAME_CLASS" documentation="Controls major frame class for multicopter component" user="Standard">
        <values>
          <value code="0">Undefined</value>
          <value code="1">Quad</value>
          <value code="2">Hexa</value>
          <value code="3">Octa</value>
          <value code="4">OctaQuad</value>
          <value code="5">Y6</value>
          <value code="6">Heli</value>
          <value code="7">Tri</value>
          <value code="8">SingleCopter</value>
          <value code="9">CoaxCopter</value>
          <value code="10">BiCopter</value>
          <value code="11">Heli_Dual</value>
          <value code="12">DodecaHexa</value>
          <value code="13">HeliQuad</value>
          <value code="14">Deca</value>
          <value code="15">Scripting Matrix</value>
          <value code="16">6DoF Scripting</value>
          <value code="17">Dynamic Scripting Matrix</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Pilot maximum vertical speed descending" name="ArduCopter:PILOT_SPEED_DN" documentation="The maximum vertical descending velocity the pilot may request in cm/s.  If 0 PILOT_SPEED_UP value is used." user="Standard">
        <field name="Range">0 500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Land alt low" name="ArduCopter:LAND_ALT_LOW" documentation="Altitude during Landing at which vehicle slows to LAND_SPEED" user="Advanced">
        <field name="Range">100 10000</field>
        <field name="Increment">10</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Tuning minimum" name="ArduCopter:TUNE_MIN" documentation="Minimum value that the parameter currently being tuned with the transmitter's channel 6 knob will be set to" user="Standard">
</param>
      <param humanName="Tuning maximum" name="ArduCopter:TUNE_MAX" documentation="Maximum value that the parameter currently being tuned with the transmitter's channel 6 knob will be set to" user="Standard">
</param>
      <param humanName="Vibration Failsafe enable" name="ArduCopter:FS_VIBE_ENABLE" documentation="This enables the vibration failsafe which will use modified altitude estimation and control during high vibrations" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Failsafe options bitmask" name="ArduCopter:FS_OPTIONS" documentation="Bitmask of additional options for battery, radio, &amp; GCS failsafes. 0 (default) disables all options." user="Advanced">
        <field name="Bitmask">0:Continue if in Auto on RC failsafe, 1:Continue if in Auto on GCS failsafe, 2:Continue if in Guided on RC failsafe, 3:Continue if landing on any failsafe, 4:Continue if in pilot controlled modes on GCS failsafe, 5:Release Gripper</field>
        <values>
          <value code="0">Disabled</value>
          <value code="1">Continue if in Auto on RC failsafe only</value>
          <value code="2">Continue if in Auto on GCS failsafe only</value>
          <value code="3">Continue if in Auto on RC and/or GCS failsafe</value>
          <value code="4">Continue if in Guided on RC failsafe only</value>
          <value code="8">Continue if landing on any failsafe</value>
          <value code="16">Continue if in pilot controlled modes on GCS failsafe</value>
          <value code="19">Continue if in Auto on RC and/or GCS failsafe and continue if in pilot controlled modes on GCS failsafe</value>
        </values>
      </param>
      <param humanName="Acro mode options" name="ArduCopter:ACRO_OPTIONS" documentation="A range of options that can be applied to change acro mode behaviour. Air-mode enables ATC_THR_MIX_MAN at all times (air-mode has no effect on helicopters). Rate Loop Only disables the use of angle stabilization and uses angular rate stabilization only." user="Advanced">
        <field name="Bitmask">0:Air-mode,1:Rate Loop Only</field>
      </param>
      <param humanName="Auto mode options" name="ArduCopter:AUTO_OPTIONS" documentation="A range of options that can be applied to change auto mode behaviour. Allow Arming allows the copter to be armed in Auto. Allow Takeoff Without Raising Throttle allows takeoff without the pilot having to raise the throttle. Ignore pilot yaw overrides the pilot's yaw stick being used while in auto." user="Advanced">
        <field name="Bitmask">0:Allow Arming,1:Allow Takeoff Without Raising Throttle,2:Ignore pilot yaw</field>
      </param>
      <param humanName="Guided mode options" name="ArduCopter:GUID_OPTIONS" documentation="Options that can be applied to change guided mode behaviour" user="Advanced">
        <field name="Bitmask">0:Allow Arming from Transmitter,2:Ignore pilot yaw,3:SetAttitudeTarget interprets Thrust As Thrust,4:Do not stabilize PositionXY,5:Do not stabilize VelocityXY,6:Waypoint navigation used for position targets</field>
      </param>
      <param humanName="GCS failsafe timeout" name="ArduCopter:FS_GCS_TIMEOUT" documentation="Timeout before triggering the GCS failsafe" user="Standard">
        <field name="Range">2 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="RTL mode options" name="ArduCopter:RTL_OPTIONS" documentation="Options that can be applied to change RTL mode behaviour" user="Advanced">
        <field name="Bitmask">2:Ignore pilot yaw</field>
      </param>
      <param humanName="Flight mode options" name="ArduCopter:FLIGHT_OPTIONS" documentation="Flight mode specific options" user="Advanced">
        <field name="Bitmask">0:Disable thrust loss check, 1:Disable yaw imbalance warning, 2:Release gripper on thrust loss</field>
      </param>
      <param humanName="Rangefinder filter" name="ArduCopter:RNGFND_FILT" documentation="Rangefinder filter to smooth distance.  Set to zero to disable filtering" user="Standard">
        <field name="Range">0 5</field>
        <field name="Increment">0.05</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Guided mode timeout" name="ArduCopter:GUID_TIMEOUT" documentation="Guided mode timeout after which vehicle will stop or return to level if no updates are received from caller. Only applicable during any combination of velocity, acceleration, angle control, and/or angular rate control" user="Advanced">
        <field name="Range">0.1 5</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Acro Roll and Pitch Rate" name="ArduCopter:ACRO_RP_RATE" documentation="Acro mode maximum roll and pitch rate.  Higher values mean faster rate of rotation" user="Standard">
        <field name="Range">1 1080</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="Acro Yaw Rate" name="ArduCopter:ACRO_Y_RATE" documentation="Acro mode maximum yaw rate.  Higher value means faster rate of rotation" user="Standard">
        <field name="Range">1 360</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="Pilot controlled yaw rate" name="ArduCopter:PILOT_Y_RATE" documentation="Pilot controlled yaw rate max.  Used in all pilot controlled modes except Acro" user="Standard">
        <field name="Range">1 360</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="Pilot controlled yaw expo" name="ArduCopter:PILOT_Y_EXPO" documentation="Pilot controlled yaw expo to allow faster rotation when stick at edges" user="Advanced">
        <field name="Range">-0.5 1.0</field>
        <values>
          <value code="0">Disabled</value>
          <value code="0.1">Very Low</value>
          <value code="0.2">Low</value>
          <value code="0.3">Medium</value>
          <value code="0.4">High</value>
          <value code="0.5">Very High</value>
        </values>
      </param>
      <param humanName="Surface Tracking Mode" name="ArduCopter:SURFTRAK_MODE" documentation="set which surface to track in surface tracking" user="Advanced">
        <values>
          <value code="0">Do not track</value>
          <value code="1">Ground</value>
          <value code="2">Ceiling</value>
        </values>
      </param>
    </parameters>
  </vehicles>
  <libraries>
    <parameters name="ADSB_">
      <param humanName="ADSB Type" name="ADSB_TYPE" documentation="Type of ADS-B hardware for ADSB-in and ADSB-out configuration and operation. If any type is selected then MAVLink based ADSB-in messages will always be enabled" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">uAvionix-MAVLink</value>
          <value code="2">Sagetech</value>
          <value code="3">uAvionix-UCP</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="ADSB vehicle list size" name="ADSB_LIST_MAX" documentation="ADSB list size of nearest vehicles. Longer lists take longer to refresh with lower SRx_ADSB values." user="Advanced">
        <field name="Range">1 100</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="ADSB vehicle list radius filter" name="ADSB_LIST_RADIUS" documentation="ADSB vehicle list radius filter. Vehicles detected outside this radius will be completely ignored. They will not show up in the SRx_ADSB stream to the GCS and will not be considered in any avoidance calculations. A value of 0 will disable this filter." user="Advanced">
        <field name="Range">0 100000</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="ICAO_ID vehicle identification number" name="ADSB_ICAO_ID" documentation="ICAO_ID unique vehicle identification number of this aircraft. This is an integer limited to 24bits. If set to 0 then one will be randomly generated. If set to -1 then static information is not sent, transceiver is assumed pre-programmed." user="Advanced">
        <field name="Range">-1 16777215</field>
      </param>
      <param humanName="Emitter type" name="ADSB_EMIT_TYPE" documentation="ADSB classification for the type of vehicle emitting the transponder signal. Default value is 14 (UAV)." user="Advanced">
        <values>
          <value code="0">NoInfo</value>
          <value code="1">Light</value>
          <value code="2">Small</value>
          <value code="3">Large</value>
          <value code="4">HighVortexlarge</value>
          <value code="5">Heavy</value>
          <value code="6">HighlyManuv</value>
          <value code="7">Rotocraft</value>
          <value code="8">RESERVED</value>
          <value code="9">Glider</value>
          <value code="10">LightAir</value>
          <value code="11">Parachute</value>
          <value code="12">UltraLight</value>
          <value code="13">RESERVED</value>
          <value code="14">UAV</value>
          <value code="15">Space</value>
          <value code="16">RESERVED</value>
          <value code="17">EmergencySurface</value>
          <value code="18">ServiceSurface</value>
          <value code="19">PointObstacle</value>
        </values>
      </param>
      <param humanName="Aircraft length and width" name="ADSB_LEN_WIDTH" documentation="Aircraft length and width dimension options in Length and Width in meters. In most cases, use a value of 1 for smallest size." user="Advanced">
        <values>
          <value code="0">NO_DATA</value>
          <value code="1">L15W23</value>
          <value code="2">L25W28P5</value>
          <value code="3">L25W34</value>
          <value code="4">L35W33</value>
          <value code="5">L35W38</value>
          <value code="6">L45W39P5</value>
          <value code="7">L45W45</value>
          <value code="8">L55W45</value>
          <value code="9">L55W52</value>
          <value code="10">L65W59P5</value>
          <value code="11">L65W67</value>
          <value code="12">L75W72P5</value>
          <value code="13">L75W80</value>
          <value code="14">L85W80</value>
          <value code="15">L85W90</value>
        </values>
      </param>
      <param humanName="GPS antenna lateral offset" name="ADSB_OFFSET_LAT" documentation="GPS antenna lateral offset. This describes the physical location offest from center of the GPS antenna on the aircraft." user="Advanced">
        <values>
          <value code="0">NoData</value>
          <value code="1">Left2m</value>
          <value code="2">Left4m</value>
          <value code="3">Left6m</value>
          <value code="4">Center</value>
          <value code="5">Right2m</value>
          <value code="6">Right4m</value>
          <value code="7">Right6m</value>
        </values>
      </param>
      <param humanName="GPS antenna longitudinal offset" name="ADSB_OFFSET_LON" documentation="GPS antenna longitudinal offset. This is usually set to 1, Applied By Sensor" user="Advanced">
        <values>
          <value code="0">NO_DATA</value>
          <value code="1">AppliedBySensor</value>
        </values>
      </param>
      <param humanName="Transceiver RF selection" name="ADSB_RF_SELECT" documentation="Transceiver RF selection for Rx enable and/or Tx enable. This only effects devices that can Tx and/or Rx. Rx-only devices should override this to always be Rx-only." user="Advanced">
        <field name="Bitmask">0:Rx,1:Tx</field>
      </param>
      <param humanName="Squawk code" name="ADSB_SQUAWK" documentation="VFR squawk (Mode 3/A) code is a pre-programmed default code when the pilot is flying VFR and not in contact with ATC. In the USA, the VFR squawk code is octal 1200 (hex 0x280, decimal 640) and in most parts of Europe the VFR squawk code is octal 7000. If an invalid octal number is set then it will be reset to 1200." user="Advanced">
        <field name="Range">0 7777</field>
        <field name="Units">octal</field>
        <field name="UnitText">octal</field>
      </param>
      <param humanName="RF capabilities" name="ADSB_RF_CAPABLE" documentation="Describes your hardware RF In/Out capabilities." user="Advanced">
        <field name="Bitmask">0:UAT_in,1:1090ES_in,2:UAT_out,3:1090ES_out</field>
      </param>
      <param humanName="ADSB vehicle list altitude filter" name="ADSB_LIST_ALT" documentation="ADSB vehicle list altitude filter. Vehicles detected above this altitude will be completely ignored. They will not show up in the SRx_ADSB stream to the GCS and will not be considered in any avoidance calculations. A value of 0 will disable this filter." user="Advanced">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="ICAO_ID of special vehicle" name="ADSB_ICAO_SPECL" documentation="ICAO_ID of special vehicle that ignores ADSB_LIST_RADIUS and ADSB_LIST_ALT. The vehicle is always tracked. Use 0 to disable." user="Advanced">
</param>
      <param humanName="ADS-B logging" name="ADSB_LOG" documentation="0: no logging, 1: log only special ID, 2:log all" user="Advanced">
        <values>
          <value code="0">no logging</value>
          <value code="1">log only special ID</value>
          <value code="2">log all</value>
        </values>
      </param>
      <param humanName="ADS-B Options" name="ADSB_OPTIONS" user="Advanced">
        <field name="Bitmask">0:Ping200X Send GPS,1:Squawk 7400 on RC failsafe,2:Squawk 7400 on GCS failsafe</field>
      </param>
    </parameters>
    <parameters name="AFS_">
      <param humanName="Enable Advanced Failsafe" name="AFS_ENABLE" documentation="This enables the advanced failsafe system. If this is set to zero (disable) then all the other AFS options have no effect" user="Advanced">
</param>
      <param humanName="Manual Pin" name="AFS_MAN_PIN" documentation="This sets a digital output pin to set high when in manual mode" user="Advanced">
</param>
      <param humanName="Heartbeat Pin" name="AFS_HB_PIN" documentation="This sets a digital output pin which is cycled at 10Hz when termination is not activated. Note that if a FS_TERM_PIN is set then the heartbeat pin will continue to cycle at 10Hz when termination is activated, to allow the termination board to distinguish between autopilot crash and termination." user="Advanced">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
        </values>
      </param>
      <param humanName="Comms Waypoint" name="AFS_WP_COMMS" documentation="Waypoint number to navigate to on comms loss" user="Advanced">
</param>
      <param humanName="GPS Loss Waypoint" name="AFS_WP_GPS_LOSS" documentation="Waypoint number to navigate to on GPS lock loss" user="Advanced">
</param>
      <param humanName="Force Terminate" name="AFS_TERMINATE" documentation="Can be set in flight to force termination of the heartbeat signal" user="Advanced">
</param>
      <param humanName="Terminate action" name="AFS_TERM_ACTION" documentation="This can be used to force an action on flight termination. Normally this is handled by an external failsafe board, but you can setup ArduPilot to handle it here. Please consult the wiki for more information on the possible values of the parameter" user="Advanced">
</param>
      <param humanName="Terminate Pin" name="AFS_TERM_PIN" documentation="This sets a digital output pin to set high on flight termination" user="Advanced">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
        </values>
      </param>
      <param humanName="AMSL limit" name="AFS_AMSL_LIMIT" documentation="This sets the AMSL (above mean sea level) altitude limit. If the pressure altitude determined by QNH exceeds this limit then flight termination will be forced. Note that this limit is in meters, whereas pressure altitude limits are often quoted in feet. A value of zero disables the pressure altitude limit." user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Error margin for GPS based AMSL limit" name="AFS_AMSL_ERR_GPS" documentation="This sets margin for error in GPS derived altitude limit. This error margin is only used if the barometer has failed. If the barometer fails then the GPS will be used to enforce the AMSL_LIMIT, but this margin will be subtracted from the AMSL_LIMIT first, to ensure that even with the given amount of GPS altitude error the pressure altitude is not breached. OBC users should set this to comply with their D2 safety case. A value of -1 will mean that barometer failure will lead to immediate termination." user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="QNH pressure" name="AFS_QNH_PRESSURE" documentation="This sets the QNH pressure in millibars to be used for pressure altitude in the altitude limit. A value of zero disables the altitude limit." user="Advanced">
        <field name="Units">hPa</field>
        <field name="UnitText">hectopascal</field>
      </param>
      <param humanName="Maximum number of GPS loss events" name="AFS_MAX_GPS_LOSS" documentation="Maximum number of GPS loss events before the aircraft stops returning to mission on GPS recovery. Use zero to allow for any number of GPS loss events." user="Advanced">
</param>
      <param humanName="Maximum number of comms loss events" name="AFS_MAX_COM_LOSS" documentation="Maximum number of comms loss events before the aircraft stops returning to mission on comms recovery. Use zero to allow for any number of comms loss events." user="Advanced">
</param>
      <param humanName="Enable geofence Advanced Failsafe" name="AFS_GEOFENCE" documentation="This enables the geofence part of the AFS. Will only be in effect if AFS_ENABLE is also 1" user="Advanced">
</param>
      <param humanName="Enable RC Advanced Failsafe" name="AFS_RC" documentation="This enables the RC part of the AFS. Will only be in effect if AFS_ENABLE is also 1" user="Advanced">
</param>
      <param humanName="Enable RC Termination only in manual control modes" name="AFS_RC_MAN_ONLY" documentation="If this parameter is set to 1, then an RC loss will only cause the plane to terminate in manual control modes. If it is 0, then the plane will terminate in any flight mode." user="Advanced">
</param>
      <param humanName="Enable dual loss terminate due to failure of both GCS and GPS simultaneously" name="AFS_DUAL_LOSS" documentation="This enables the dual loss termination part of the AFS system. If this parameter is 1 and both GPS and the ground control station fail simultaneously, this will be considered a &quot;dual loss&quot; and cause termination." user="Advanced">
</param>
      <param humanName="RC failure time" name="AFS_RC_FAIL_TIME" documentation="This is the time in seconds in manual mode that failsafe termination will activate if RC input is lost. For the OBC rules this should be (1.5). Use 0 to disable." user="Advanced">
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Max allowed range" name="AFS_MAX_RANGE" documentation="This is the maximum range of the vehicle in kilometers from first arming. If the vehicle goes beyond this range then the TERM_ACTION is performed. A value of zero disables this feature." user="Advanced">
        <field name="Units">km</field>
        <field name="UnitText">kilometers</field>
      </param>
    </parameters>
    <parameters name="AHRS_">
      <param humanName="AHRS GPS gain" name="AHRS_GPS_GAIN" documentation="This controls how much to use the GPS to correct the attitude. This should never be set to zero for a plane as it would result in the plane losing control in turns. For a plane please use the default value of 1.0." user="Advanced">
        <field name="Range">0.0 1.0</field>
        <field name="Increment">.01</field>
      </param>
      <param humanName="AHRS use GPS for DCM navigation and position-down" name="AHRS_GPS_USE" documentation="This controls whether to use dead-reckoning or GPS based navigation. If set to 0 then the GPS won't be used for navigation, and only dead reckoning will be used. A value of zero should never be used for normal flight. Currently this affects only the DCM-based AHRS: the EKF uses GPS according to its own parameters. A value of 2 means to use GPS for height as well as position - both in DCM estimation and when determining altitude-above-home." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Use GPS for DCM position</value>
          <value code="2">Use GPS for DCM position and height</value>
        </values>
      </param>
      <param humanName="Yaw P" name="AHRS_YAW_P" documentation="This controls the weight the compass or GPS has on the heading. A higher value means the heading will track the yaw source (GPS or compass) more rapidly." user="Advanced">
        <field name="Range">0.1 0.4</field>
        <field name="Increment">.01</field>
      </param>
      <param humanName="AHRS RP_P" name="AHRS_RP_P" documentation="This controls how fast the accelerometers correct the attitude" user="Advanced">
        <field name="Range">0.1 0.4</field>
        <field name="Increment">.01</field>
      </param>
      <param humanName="Maximum wind" name="AHRS_WIND_MAX" documentation="This sets the maximum allowable difference between ground speed and airspeed. This allows the plane to cope with a failing airspeed sensor. A value of zero means to use the airspeed as is. See ARSPD_OPTIONS and ARSPD_MAX_WIND to disable airspeed sensors." user="Advanced">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="AHRS Trim Roll" name="AHRS_TRIM_X" documentation="Compensates for the roll angle difference between the control board and the frame. Positive values make the vehicle roll right." user="Standard">
        <field name="Range">-0.1745 +0.1745</field>
        <field name="Increment">0.01</field>
        <field name="Units">rad</field>
        <field name="UnitText">radians</field>
      </param>
      <param humanName="AHRS Trim Pitch" name="AHRS_TRIM_Y" documentation="Compensates for the pitch angle difference between the control board and the frame. Positive values make the vehicle pitch up/back." user="Standard">
        <field name="Range">-0.1745 +0.1745</field>
        <field name="Increment">0.01</field>
        <field name="Units">rad</field>
        <field name="UnitText">radians</field>
      </param>
      <param humanName="AHRS Trim Yaw" name="AHRS_TRIM_Z" documentation="Not Used" user="Advanced">
        <field name="Range">-0.1745 +0.1745</field>
        <field name="Increment">0.01</field>
        <field name="Units">rad</field>
        <field name="UnitText">radians</field>
      </param>
      <param humanName="Board Orientation" name="AHRS_ORIENTATION" documentation="Overall board orientation relative to the standard orientation for the board type. This rotates the IMU and compass readings to allow the board to be oriented in your vehicle at any 90 or 45 degree angle. The label for each option is specified in the order of rotations for that orientation. This option takes affect on next boot. After changing you will need to re-level your vehicle." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Yaw45</value>
          <value code="2">Yaw90</value>
          <value code="3">Yaw135</value>
          <value code="4">Yaw180</value>
          <value code="5">Yaw225</value>
          <value code="6">Yaw270</value>
          <value code="7">Yaw315</value>
          <value code="8">Roll180</value>
          <value code="9">Yaw45Roll180</value>
          <value code="10">Yaw90Roll180</value>
          <value code="11">Yaw135Roll180</value>
          <value code="12">Pitch180</value>
          <value code="13">Yaw225Roll180</value>
          <value code="14">Yaw270Roll180</value>
          <value code="15">Yaw315Roll180</value>
          <value code="16">Roll90</value>
          <value code="17">Yaw45Roll90</value>
          <value code="18">Yaw90Roll90</value>
          <value code="19">Yaw135Roll90</value>
          <value code="20">Roll270</value>
          <value code="21">Yaw45Roll270</value>
          <value code="22">Yaw90Roll270</value>
          <value code="23">Yaw135Roll270</value>
          <value code="24">Pitch90</value>
          <value code="25">Pitch270</value>
          <value code="26">Yaw90Pitch180</value>
          <value code="27">Yaw270Pitch180</value>
          <value code="28">Pitch90Roll90</value>
          <value code="29">Pitch90Roll180</value>
          <value code="30">Pitch90Roll270</value>
          <value code="31">Pitch180Roll90</value>
          <value code="32">Pitch180Roll270</value>
          <value code="33">Pitch270Roll90</value>
          <value code="34">Pitch270Roll180</value>
          <value code="35">Pitch270Roll270</value>
          <value code="36">Yaw90Pitch180Roll90</value>
          <value code="37">Yaw270Roll90</value>
          <value code="38">Yaw293Pitch68Roll180</value>
          <value code="39">Pitch315</value>
          <value code="40">Pitch315Roll90</value>
          <value code="42">Roll45</value>
          <value code="43">Roll315</value>
          <value code="100">Custom</value>
        </values>
      </param>
      <param humanName="AHRS Velocity Complementary Filter Beta Coefficient" name="AHRS_COMP_BETA" documentation="This controls the time constant for the cross-over frequency used to fuse AHRS (airspeed and heading) and GPS data to estimate ground velocity. Time constant is 0.1/beta. A larger time constant will use GPS data less and a small time constant will use air data less." user="Advanced">
        <field name="Range">0.001 0.5</field>
        <field name="Increment">.01</field>
      </param>
      <param humanName="AHRS GPS Minimum satellites" name="AHRS_GPS_MINSATS" documentation="Minimum number of satellites visible to use GPS for velocity based corrections attitude correction. This defaults to 6, which is about the point at which the velocity numbers from a GPS become too unreliable for accurate correction of the accelerometers." user="Advanced">
        <field name="Range">0 10</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Use NavEKF Kalman filter for attitude and position estimation" name="AHRS_EKF_TYPE" documentation="This controls which NavEKF Kalman filter version is used for attitude and position estimation" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="2">Enable EKF2</value>
          <value code="3">Enable EKF3</value>
          <value code="11">ExternalAHRS</value>
        </values>
      </param>
      <param humanName="Board orientation roll offset" name="AHRS_CUSTOM_ROLL" documentation="Autopilot mounting position roll offset. Positive values = roll right, negative values = roll left. This parameter is only used when AHRS_ORIENTATION is set to CUSTOM." user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Board orientation pitch offset" name="AHRS_CUSTOM_PIT" documentation="Autopilot mounting position pitch offset. Positive values = pitch up, negative values = pitch down. This parameter is only used when AHRS_ORIENTATION is set to CUSTOM." user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Board orientation yaw offset" name="AHRS_CUSTOM_YAW" documentation="Autopilot mounting position yaw offset. Positive values = yaw right, negative values = yaw left. This parameter is only used when AHRS_ORIENTATION is set to CUSTOM." user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
    </parameters>
    <parameters name="ARMING_">
      <param humanName="Accelerometer error threshold" name="ARMING_ACCTHRESH" documentation="Accelerometer error threshold used to determine inconsistent accelerometers. Compares this error range to other accelerometers to detect a hardware or calibration error. Lower value means tighter check and harder to pass arming check. Not all accelerometers are created equal." user="Advanced">
        <field name="Range">0.25 3.0</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Arming with Rudder enable/disable" name="ARMING_RUDDER" documentation="Allow arm/disarm by rudder input. When enabled arming can be done with right rudder, disarming with left rudder. Rudder arming only works in manual throttle modes with throttle at zero +- deadzone (RCx_DZ)" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">ArmingOnly</value>
          <value code="2">ArmOrDisarm</value>
        </values>
      </param>
      <param humanName="Required mission items" name="ARMING_MIS_ITEMS" documentation="Bitmask of mission items that are required to be planned in order to arm the aircraft" user="Advanced">
        <field name="Bitmask">0:Land,1:VTOL Land,2:DO_LAND_START,3:Takeoff,4:VTOL Takeoff,5:Rallypoint</field>
      </param>
      <param humanName="Arm Checks to Perform (bitmask)" name="ARMING_CHECK" documentation="Checks prior to arming motor. This is a bitmask of checks that will be performed before allowing arming. For most users it is recommended to leave this at the default of 1 (all checks enabled). You can select whatever checks you prefer by adding together the values of each check type to set this parameter. For example, to only allow arming when you have GPS lock and no RC failsafe you would set ARMING_CHECK to 72." user="Standard">
        <field name="Bitmask">0:All,1:Barometer,2:Compass,3:GPS lock,4:INS,5:Parameters,6:RC Channels,7:Board voltage,8:Battery Level,10:Logging Available,11:Hardware safety switch,12:GPS Configuration,13:System,14:Mission,15:Rangefinder,16:Camera,17:AuxAuth,18:VisualOdometry,19:FFT</field>
      </param>
    </parameters>
    <parameters name="AROT_">
      <param humanName="Enable settings for RSC Setpoint" name="AROT_ENABLE" documentation="Allows you to enable (1) or disable (0) the autonomous autorotation capability." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="P gain for head speed controller" name="AROT_HS_P" documentation="Increase value to increase sensitivity of head speed controller during autonomous autorotation." user="Advanced">
        <field name="Range">0.3 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Target Head Speed" name="AROT_HS_SET_PT" documentation="The target head speed in RPM during autorotation.  Start by setting to desired hover speed and tune from there as necessary." user="Advanced">
        <field name="Range">1000 2800</field>
        <field name="Increment">1</field>
        <field name="Units">RPM</field>
        <field name="UnitText">Revolutions Per Minute</field>
      </param>
      <param humanName="Target Glide Ground Speed" name="AROT_TARG_SP" documentation="Target ground speed in cm/s for the autorotation controller to try and achieve/ maintain during the glide phase." user="Advanced">
        <field name="Range">800 2000</field>
        <field name="Increment">50</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Entry Phase Collective Filter" name="AROT_COL_FILT_E" documentation="Cut-off frequency for collective low pass filter.  For the entry phase.  Acts as a following trim.  Must be higher than AROT_COL_FILT_G." user="Advanced">
        <field name="Range">0.2 0.5</field>
        <field name="Increment">0.01</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Glide Phase Collective Filter" name="AROT_COL_FILT_G" documentation="Cut-off frequency for collective low pass filter.  For the glide phase.  Acts as a following trim.  Must be lower than AROT_COL_FILT_E." user="Advanced">
        <field name="Range">0.03 0.15</field>
        <field name="Increment">0.01</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Forward Acceleration Limit" name="AROT_AS_ACC_MAX" documentation="Maximum forward acceleration to apply in speed controller." user="Advanced">
        <field name="Range">30 60</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s/s</field>
        <field name="UnitText">centimeters per square second</field>
      </param>
      <param humanName="Bail Out Timer" name="AROT_BAIL_TIME" documentation="Time in seconds from bail out initiated to the exit of autorotation flight mode." user="Advanced">
        <field name="Range">0.5 4</field>
        <field name="Increment">0.1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Main Rotor RPM Sensor " name="AROT_HS_SENSOR" documentation="Allocate the RPM sensor instance to use for measuring head speed.  RPM1 = 0.  RPM2 = 1." user="Advanced">
        <field name="Range">0.5 3</field>
        <field name="Increment">0.1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Velocity (horizontal) P gain" name="AROT_FW_V_P" documentation="Velocity (horizontal) P gain.  Determines the propotion of the target acceleration based on the velocity error." user="Advanced">
        <field name="Range">0.1 6.0</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Velocity (horizontal) feed forward" name="AROT_FW_V_FF" documentation="Velocity (horizontal) input filter.  Corrects the target acceleration proportionally to the desired velocity." user="Advanced">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
    </parameters>
    <parameters name="ARSPD">
      <param humanName="Airspeed type" name="ARSPD_TYPE" documentation="Type of airspeed sensor" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">I2C-MS4525D0</value>
          <value code="2">Analog</value>
          <value code="3">I2C-MS5525</value>
          <value code="4">I2C-MS5525 (0x76)</value>
          <value code="5">I2C-MS5525 (0x77)</value>
          <value code="6">I2C-SDP3X</value>
          <value code="7">I2C-DLVR-5in</value>
          <value code="8">DroneCAN</value>
          <value code="9">I2C-DLVR-10in</value>
          <value code="10">I2C-DLVR-20in</value>
          <value code="11">I2C-DLVR-30in</value>
          <value code="12">I2C-DLVR-60in</value>
          <value code="13">NMEA water speed</value>
          <value code="14">MSP</value>
          <value code="15">ASP5033</value>
        </values>
      </param>
      <param humanName="Airspeed ID" name="ARSPD_DEVID" documentation="Airspeed sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Airspeed use" name="ARSPD_USE" documentation="Enables airspeed use for automatic throttle modes and replaces control from THR_TRIM. Continues to display and log airspeed if set to 0. Uses airspeed for control if set to 1. Only uses airspeed when throttle = 0 if set to 2 (useful for gliders with airspeed sensors behind propellers)." user="Standard">
        <values>
          <value code="0">DoNotUse</value>
          <value code="1">Use</value>
          <value code="2">UseWhenZeroThrottle</value>
        </values>
      </param>
      <param humanName="Airspeed offset" name="ARSPD_OFFSET" documentation="Airspeed calibration offset" user="Advanced">
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Airspeed ratio" name="ARSPD_RATIO" documentation="Calibrates pitot tube pressure to velocity. Increasing this value will indicate a higher airspeed at any given dynamic pressure." user="Advanced">
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Airspeed pin" name="ARSPD_PIN" documentation="The pin number that the airspeed sensor is connected to for analog sensors. Set to 15 on the Pixhawk for the analog airspeed port. " user="Advanced">
</param>
      <param humanName="Automatic airspeed ratio calibration" name="ARSPD_AUTOCAL" documentation="Enables automatic adjustment of ARSPD_RATIO during a calibration flight based on estimation of ground speed and true airspeed. New ratio saved every 2 minutes if change is &gt; 5%. Should not be left enabled." user="Advanced">
</param>
      <param humanName="Control pitot tube order" name="ARSPD_TUBE_ORDER" documentation="This parameter allows you to control whether the order in which the tubes are attached to your pitot tube matters. If you set this to 0 then the first (often the top) connector on the sensor needs to be the stagnation pressure (the pressure at the tip of the pitot tube). If set to 1 then the second (often the bottom) connector needs to be the stagnation pressure. If set to 2 (the default) then the airspeed driver will accept either order. The reason you may wish to specify the order is it will allow your airspeed sensor to detect if the aircraft is receiving excessive pressure on the static port compared to the stagnation port such as during a stall, which would otherwise be seen as a positive airspeed." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Swapped</value>
          <value code="2">Auto Detect</value>
        </values>
      </param>
      <param humanName="Skip airspeed calibration on startup" name="ARSPD_SKIP_CAL" documentation="This parameter allows you to skip airspeed offset calibration on startup, instead using the offset from the last calibration. This may be desirable if the offset variance between flights for your sensor is low and you want to avoid having to cover the pitot tube on each boot." user="Advanced">
        <values>
          <value code="0">Disable</value>
          <value code="1">Enable</value>
        </values>
      </param>
      <param humanName="The PSI range of the device" name="ARSPD_PSI_RANGE" documentation="This parameter allows you to to set the PSI (pounds per square inch) range for your sensor. You should not change this unless you examine the datasheet for your device" user="Advanced">
</param>
      <param humanName="Airspeed I2C bus" name="ARSPD_BUS" documentation="Bus number of the I2C bus where the airspeed sensor is connected" user="Advanced">
        <values>
          <value code="0">Bus0(internal)</value>
          <value code="1">Bus1(external)</value>
          <value code="2">Bus2(auxillary)</value>
        </values>
      </param>
      <param humanName="Primary airspeed sensor" name="ARSPD_PRIMARY" documentation="This selects which airspeed sensor will be the primary if multiple sensors are found" user="Advanced">
        <values>
          <value code="0">FirstSensor</value>
          <value code="1">2ndSensor</value>
        </values>
      </param>
      <param humanName="Airspeed options bitmask" name="ARSPD_OPTIONS" documentation="Bitmask of options to use with airspeed. 0:Disable use based on airspeed/groundspeed mismatch (see ARSPD_WIND_MAX), 1:Automatically reenable use based on airspeed/groundspeed mismatch recovery (see ARSPD_WIND_MAX) 2:Disable voltage correction" user="Advanced">
        <field name="Bitmask">0:SpeedMismatchDisable, 1:AllowSpeedMismatchRecovery, 2:DisableVoltageCorrection</field>
      </param>
      <param humanName="Maximum airspeed and ground speed difference" name="ARSPD_WIND_MAX" documentation="If the difference between airspeed and ground speed is greater than this value the sensor will be marked unhealthy. Using ARSPD_OPTION this health value can be used to disable the sensor." user="Advanced">
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Airspeed and ground speed difference that gives a warning" name="ARSPD_WIND_WARN" documentation="If the difference between airspeed and ground speed is greater than this value the sensor will issue a warning. If 0 ARSPD_WIND_MAX is used." user="Advanced">
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Second Airspeed type" name="ARSPD2_TYPE" documentation="Type of 2nd airspeed sensor" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">I2C-MS4525D0</value>
          <value code="2">Analog</value>
          <value code="3">I2C-MS5525</value>
          <value code="4">I2C-MS5525 (0x76)</value>
          <value code="5">I2C-MS5525 (0x77)</value>
          <value code="6">I2C-SDP3X</value>
          <value code="7">I2C-DLVR-5in</value>
          <value code="8">DroneCAN</value>
          <value code="9">I2C-DLVR-10in</value>
          <value code="10">I2C-DLVR-20in</value>
          <value code="11">I2C-DLVR-30in</value>
          <value code="12">I2C-DLVR-60in</value>
          <value code="13">NMEA water speed</value>
          <value code="14">MSP</value>
          <value code="15">ASP5033</value>
        </values>
      </param>
      <param humanName="Enable use of 2nd airspeed sensor" name="ARSPD2_USE" documentation="use airspeed for flight control. When set to 0 airspeed sensor can be logged and displayed on a GCS but won't be used for flight. When set to 1 it will be logged and used. When set to 2 it will be only used when the throttle is zero, which can be useful in gliders with airspeed sensors behind a propeller" user="Standard">
        <values>
          <value code="0">Don't Use</value>
          <value code="1">use</value>
          <value code="2">UseWhenZeroThrottle</value>
        </values>
      </param>
      <param humanName="Airspeed offset for 2nd airspeed sensor" name="ARSPD2_OFFSET" documentation="Airspeed calibration offset" user="Advanced">
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Airspeed ratio for 2nd airspeed sensor" name="ARSPD2_RATIO" documentation="Airspeed calibration ratio" user="Advanced">
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Airspeed pin for 2nd airspeed sensor" name="ARSPD2_PIN" documentation="Pin number indicating location of analog airspeed sensors. Pixhawk/Cube if set to 15. " user="Advanced">
</param>
      <param humanName="Automatic airspeed ratio calibration for 2nd airspeed sensor" name="ARSPD2_AUTOCAL" documentation="If this is enabled then the autopilot will automatically adjust the ARSPD_RATIO during flight, based upon an estimation filter using ground speed and true airspeed. The automatic calibration will save the new ratio to EEPROM every 2 minutes if it changes by more than 5%. This option should be enabled for a calibration flight then disabled again when calibration is complete. Leaving it enabled all the time is not recommended." user="Advanced">
</param>
      <param humanName="Control pitot tube order of 2nd airspeed sensor" name="ARSPD2_TUBE_ORDR" documentation="This parameter allows you to control whether the order in which the tubes are attached to your pitot tube matters. If you set this to 0 then the first (often the top) connector on the sensor needs to be the stagnation pressure (the pressure at the tip of the pitot tube). If set to 1 then the second (often the bottom) connector needs to be the stagnation pressure. If set to 2 (the default) then the airspeed driver will accept either order. The reason you may wish to specify the order is it will allow your airspeed sensor to detect if the aircraft is receiving excessive pressure on the static port compared to the stagnation port such as during a stall, which would otherwise be seen as a positive airspeed." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Swapped</value>
          <value code="2">Auto Detect</value>
        </values>
      </param>
      <param humanName="Skip airspeed calibration on startup for 2nd sensor" name="ARSPD2_SKIP_CAL" documentation="This parameter allows you to skip airspeed offset calibration on startup, instead using the offset from the last calibration. This may be desirable if the offset variance between flights for your sensor is low and you want to avoid having to cover the pitot tube on each boot." user="Advanced">
        <values>
          <value code="0">Disable</value>
          <value code="1">Enable</value>
        </values>
      </param>
      <param humanName="The PSI range of the device for 2nd sensor" name="ARSPD2_PSI_RANGE" documentation="This parameter allows you to to set the PSI (pounds per square inch) range for your sensor. You should not change this unless you examine the datasheet for your device" user="Advanced">
</param>
      <param humanName="Airspeed I2C bus for 2nd sensor" name="ARSPD2_BUS" documentation="The bus number of the I2C bus to look for the sensor on" user="Advanced">
        <values>
          <value code="0">Bus0(internal)</value>
          <value code="1">Bus1(external)</value>
          <value code="2">Bus2(auxillary)</value>
        </values>
      </param>
      <param humanName="Airspeed2 ID" name="ARSPD2_DEVID" documentation="Airspeed2 sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
    </parameters>
    <parameters name="ATC_">
      <param humanName="Yaw target slew rate" name="ATC_SLEW_YAW" documentation="Maximum rate the yaw target can be updated in Loiter, RTL, Auto flight modes" user="Advanced">
        <field name="Range">500 18000</field>
        <field name="Increment">100</field>
        <field name="Units">cdeg/s</field>
        <field name="UnitText">centidegrees per second</field>
      </param>
      <param humanName="Acceleration Max for Yaw" name="ATC_ACCEL_Y_MAX" documentation="Maximum acceleration in yaw axis" user="Advanced">
        <field name="Range">0 72000</field>
        <values>
          <value code="0">Disabled</value>
          <value code="9000">VerySlow</value>
          <value code="18000">Slow</value>
          <value code="36000">Medium</value>
          <value code="54000">Fast</value>
        </values>
        <field name="Increment">1000</field>
        <field name="Units">cdeg/s/s</field>
        <field name="UnitText">centidegrees per square second</field>
      </param>
      <param humanName="Rate Feedforward Enable" name="ATC_RATE_FF_ENAB" documentation="Controls whether body-frame rate feedfoward is enabled or disabled" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Acceleration Max for Roll" name="ATC_ACCEL_R_MAX" documentation="Maximum acceleration in roll axis" user="Advanced">
        <field name="Range">0 180000</field>
        <values>
          <value code="0">Disabled</value>
          <value code="30000">VerySlow</value>
          <value code="72000">Slow</value>
          <value code="108000">Medium</value>
          <value code="162000">Fast</value>
        </values>
        <field name="Increment">1000</field>
        <field name="Units">cdeg/s/s</field>
        <field name="UnitText">centidegrees per square second</field>
      </param>
      <param humanName="Acceleration Max for Pitch" name="ATC_ACCEL_P_MAX" documentation="Maximum acceleration in pitch axis" user="Advanced">
        <field name="Range">0 180000</field>
        <values>
          <value code="0">Disabled</value>
          <value code="30000">VerySlow</value>
          <value code="72000">Slow</value>
          <value code="108000">Medium</value>
          <value code="162000">Fast</value>
        </values>
        <field name="Increment">1000</field>
        <field name="Units">cdeg/s/s</field>
        <field name="UnitText">centidegrees per square second</field>
      </param>
      <param humanName="Angle Boost" name="ATC_ANGLE_BOOST" documentation="Angle Boost increases output throttle as the vehicle leans to reduce loss of altitude" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Roll axis angle controller P gain" name="ATC_ANG_RLL_P" documentation="Roll axis angle controller P gain.  Converts the error between the desired roll angle and actual angle to a desired roll rate" user="Standard">
        <field name="Range">3.000 12.000</field>
      </param>
      <param humanName="Pitch axis angle controller P gain" name="ATC_ANG_PIT_P" documentation="Pitch axis angle controller P gain.  Converts the error between the desired pitch angle and actual angle to a desired pitch rate" user="Standard">
        <field name="Range">3.000 12.000</field>
      </param>
      <param humanName="Yaw axis angle controller P gain" name="ATC_ANG_YAW_P" documentation="Yaw axis angle controller P gain.  Converts the error between the desired yaw angle and actual angle to a desired yaw rate" user="Standard">
        <field name="Range">3.000 12.000</field>
      </param>
      <param humanName="Angle Limit (to maintain altitude) Time Constant" name="ATC_ANG_LIM_TC" documentation="Angle Limit (to maintain altitude) Time Constant" user="Advanced">
        <field name="Range">0.5 10.0</field>
      </param>
      <param humanName="Angular Velocity Max for Roll" name="ATC_RATE_R_MAX" documentation="Maximum angular velocity in roll axis" user="Advanced">
        <field name="Range">0 1080</field>
        <values>
          <value code="0">Disabled</value>
          <value code="60">Slow</value>
          <value code="180">Medium</value>
          <value code="360">Fast</value>
        </values>
        <field name="Increment">1</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="Angular Velocity Max for Pitch" name="ATC_RATE_P_MAX" documentation="Maximum angular velocity in pitch axis" user="Advanced">
        <field name="Range">0 1080</field>
        <values>
          <value code="0">Disabled</value>
          <value code="60">Slow</value>
          <value code="180">Medium</value>
          <value code="360">Fast</value>
        </values>
        <field name="Increment">1</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="Angular Velocity Max for Yaw" name="ATC_RATE_Y_MAX" documentation="Maximum angular velocity in yaw axis" user="Advanced">
        <field name="Range">0 1080</field>
        <values>
          <value code="0">Disabled</value>
          <value code="60">Slow</value>
          <value code="180">Medium</value>
          <value code="360">Fast</value>
        </values>
        <field name="Increment">1</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="Attitude control input time constant" name="ATC_INPUT_TC" documentation="Attitude control input time constant.  Low numbers lead to sharper response, higher numbers to softer response" user="Standard">
        <field name="Range">0 1</field>
        <values>
          <value code="0.5">Very Soft</value>
          <value code="0.2">Soft</value>
          <value code="0.15">Medium</value>
          <value code="0.1">Crisp</value>
          <value code="0.05">Very Crisp</value>
        </values>
        <field name="Increment">0.01</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Roll axis rate controller P gain" name="ATC_RAT_RLL_P" documentation="Roll axis rate controller P gain.  Converts the difference between desired roll rate and actual roll rate into a motor speed output" user="Standard">
        <field name="Range">0.01 0.5</field>
        <field name="Increment">0.005</field>
      </param>
      <param humanName="Roll axis rate controller I gain" name="ATC_RAT_RLL_I" documentation="Roll axis rate controller I gain.  Corrects long-term difference in desired roll rate vs actual roll rate" user="Standard">
        <field name="Range">0.01 2.0</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Roll axis rate controller I gain maximum" name="ATC_RAT_RLL_IMAX" documentation="Roll axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Roll axis rate controller D gain" name="ATC_RAT_RLL_D" documentation="Roll axis rate controller D gain.  Compensates for short-term change in desired roll rate vs actual roll rate" user="Standard">
        <field name="Range">0.0 0.05</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Roll axis rate controller feed forward" name="ATC_RAT_RLL_FF" documentation="Roll axis rate controller feed forward" user="Standard">
        <field name="Range">0 0.5</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Roll axis rate controller target frequency in Hz" name="ATC_RAT_RLL_FLTT" documentation="Roll axis rate controller target frequency in Hz" user="Standard">
        <field name="Range">5 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Roll axis rate controller error frequency in Hz" name="ATC_RAT_RLL_FLTE" documentation="Roll axis rate controller error frequency in Hz" user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Roll axis rate controller derivative frequency in Hz" name="ATC_RAT_RLL_FLTD" documentation="Roll axis rate controller derivative frequency in Hz" user="Standard">
        <field name="Range">5 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Roll slew rate limit" name="ATC_RAT_RLL_SMAX" documentation="Sets an upper limit on the slew rate produced by the combined P and D gains. If the amplitude of the control action produced by the rate feedback exceeds this value, then the D+P gain is reduced to respect the limit. This limits the amplitude of high frequency oscillations caused by an excessive gain. The limit should be set to no more than 25% of the actuators maximum slew rate to allow for load effects. Note: The gain will not be reduced to less than 10% of the nominal value. A value of zero will disable this feature." user="Advanced">
        <field name="Range">0 200</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Pitch axis rate controller P gain" name="ATC_RAT_PIT_P" documentation="Pitch axis rate controller P gain.  Converts the difference between desired pitch rate and actual pitch rate into a motor speed output" user="Standard">
        <field name="Range">0.01 0.50</field>
        <field name="Increment">0.005</field>
      </param>
      <param humanName="Pitch axis rate controller I gain" name="ATC_RAT_PIT_I" documentation="Pitch axis rate controller I gain.  Corrects long-term difference in desired pitch rate vs actual pitch rate" user="Standard">
        <field name="Range">0.01 2.0</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Pitch axis rate controller I gain maximum" name="ATC_RAT_PIT_IMAX" documentation="Pitch axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Pitch axis rate controller D gain" name="ATC_RAT_PIT_D" documentation="Pitch axis rate controller D gain.  Compensates for short-term change in desired pitch rate vs actual pitch rate" user="Standard">
        <field name="Range">0.0 0.05</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Pitch axis rate controller feed forward" name="ATC_RAT_PIT_FF" documentation="Pitch axis rate controller feed forward" user="Standard">
        <field name="Range">0 0.5</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Pitch axis rate controller target frequency in Hz" name="ATC_RAT_PIT_FLTT" documentation="Pitch axis rate controller target frequency in Hz" user="Standard">
        <field name="Range">5 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Pitch axis rate controller error frequency in Hz" name="ATC_RAT_PIT_FLTE" documentation="Pitch axis rate controller error frequency in Hz" user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Pitch axis rate controller derivative frequency in Hz" name="ATC_RAT_PIT_FLTD" documentation="Pitch axis rate controller derivative frequency in Hz" user="Standard">
        <field name="Range">5 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Pitch slew rate limit" name="ATC_RAT_PIT_SMAX" documentation="Sets an upper limit on the slew rate produced by the combined P and D gains. If the amplitude of the control action produced by the rate feedback exceeds this value, then the D+P gain is reduced to respect the limit. This limits the amplitude of high frequency oscillations caused by an excessive gain. The limit should be set to no more than 25% of the actuators maximum slew rate to allow for load effects. Note: The gain will not be reduced to less than 10% of the nominal value. A value of zero will disable this feature." user="Advanced">
        <field name="Range">0 200</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Yaw axis rate controller P gain" name="ATC_RAT_YAW_P" documentation="Yaw axis rate controller P gain.  Converts the difference between desired yaw rate and actual yaw rate into a motor speed output" user="Standard">
        <field name="Range">0.10 2.50</field>
        <field name="Increment">0.005</field>
      </param>
      <param humanName="Yaw axis rate controller I gain" name="ATC_RAT_YAW_I" documentation="Yaw axis rate controller I gain.  Corrects long-term difference in desired yaw rate vs actual yaw rate" user="Standard">
        <field name="Range">0.010 1.0</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Yaw axis rate controller I gain maximum" name="ATC_RAT_YAW_IMAX" documentation="Yaw axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Yaw axis rate controller D gain" name="ATC_RAT_YAW_D" documentation="Yaw axis rate controller D gain.  Compensates for short-term change in desired yaw rate vs actual yaw rate" user="Standard">
        <field name="Range">0.000 0.02</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Yaw axis rate controller feed forward" name="ATC_RAT_YAW_FF" documentation="Yaw axis rate controller feed forward" user="Standard">
        <field name="Range">0 0.5</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Yaw axis rate controller target frequency in Hz" name="ATC_RAT_YAW_FLTT" documentation="Yaw axis rate controller target frequency in Hz" user="Standard">
        <field name="Range">1 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Yaw axis rate controller error frequency in Hz" name="ATC_RAT_YAW_FLTE" documentation="Yaw axis rate controller error frequency in Hz" user="Standard">
        <field name="Range">0 20</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Yaw axis rate controller derivative frequency in Hz" name="ATC_RAT_YAW_FLTD" documentation="Yaw axis rate controller derivative frequency in Hz" user="Standard">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Yaw slew rate limit" name="ATC_RAT_YAW_SMAX" documentation="Sets an upper limit on the slew rate produced by the combined P and D gains. If the amplitude of the control action produced by the rate feedback exceeds this value, then the D+P gain is reduced to respect the limit. This limits the amplitude of high frequency oscillations caused by an excessive gain. The limit should be set to no more than 25% of the actuators maximum slew rate to allow for load effects. Note: The gain will not be reduced to less than 10% of the nominal value. A value of zero will disable this feature." user="Advanced">
        <field name="Range">0 200</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Throttle Mix Minimum" name="ATC_THR_MIX_MIN" documentation="Throttle vs attitude control prioritisation used when landing (higher values mean we prioritise attitude control over throttle)" user="Advanced">
        <field name="Range">0.1 0.25</field>
      </param>
      <param humanName="Throttle Mix Maximum" name="ATC_THR_MIX_MAX" documentation="Throttle vs attitude control prioritisation used during active flight (higher values mean we prioritise attitude control over throttle)" user="Advanced">
        <field name="Range">0.5 0.9</field>
      </param>
      <param humanName="Throttle Mix Manual" name="ATC_THR_MIX_MAN" documentation="Throttle vs attitude control prioritisation used during manual flight (higher values mean we prioritise attitude control over throttle)" user="Advanced">
        <field name="Range">0.1 0.9</field>
      </param>
      <param humanName="Hover Roll Trim" name="ATC_HOVR_ROL_TRM" documentation="Trim the hover roll angle to counter tail rotor thrust in a hover" user="Advanced">
        <field name="Range">0 1000</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Roll axis rate controller P gain" name="ATC_RAT_RLL_P" documentation="Roll axis rate controller P gain.  Converts the difference between desired roll rate and actual roll rate into a motor speed output" user="Standard">
        <field name="Range">0.0 0.35</field>
        <field name="Increment">0.005</field>
      </param>
      <param humanName="Roll axis rate controller I gain" name="ATC_RAT_RLL_I" documentation="Roll axis rate controller I gain.  Corrects long-term difference in desired roll rate vs actual roll rate" user="Standard">
        <field name="Range">0.0 0.6</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Roll axis rate controller I gain maximum" name="ATC_RAT_RLL_IMAX" documentation="Roll axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Roll axis rate controller I-term leak minimum" name="ATC_RAT_RLL_ILMI" documentation="Point below which I-term will not leak down" user="Advanced">
        <field name="Range">0 1</field>
      </param>
      <param humanName="Roll axis rate controller D gain" name="ATC_RAT_RLL_D" documentation="Roll axis rate controller D gain.  Compensates for short-term change in desired roll rate vs actual roll rate" user="Standard">
        <field name="Range">0.0 0.03</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Roll axis rate controller feed forward" name="ATC_RAT_RLL_FF" documentation="Roll axis rate controller feed forward" user="Standard">
        <field name="Range">0.05 0.5</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Roll axis rate controller target frequency in Hz" name="ATC_RAT_RLL_FLTT" documentation="Roll axis rate controller target frequency in Hz" user="Standard">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Roll axis rate controller error frequency in Hz" name="ATC_RAT_RLL_FLTE" documentation="Roll axis rate controller error frequency in Hz" user="Standard">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Roll axis rate controller derivative frequency in Hz" name="ATC_RAT_RLL_FLTD" documentation="Roll axis rate controller derivative frequency in Hz" user="Standard">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Roll slew rate limit" name="ATC_RAT_RLL_SMAX" documentation="Sets an upper limit on the slew rate produced by the combined P and D gains. If the amplitude of the control action produced by the rate feedback exceeds this value, then the D+P gain is reduced to respect the limit. This limits the amplitude of high frequency oscillations caused by an excessive gain. The limit should be set to no more than 25% of the actuators maximum slew rate to allow for load effects. Note: The gain will not be reduced to less than 10% of the nominal value. A value of zero will disable this feature." user="Advanced">
        <field name="Range">0 200</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Pitch axis rate controller P gain" name="ATC_RAT_PIT_P" documentation="Pitch axis rate controller P gain.  Converts the difference between desired pitch rate and actual pitch rate into a motor speed output" user="Standard">
        <field name="Range">0.0 0.35</field>
        <field name="Increment">0.005</field>
      </param>
      <param humanName="Pitch axis rate controller I gain" name="ATC_RAT_PIT_I" documentation="Pitch axis rate controller I gain.  Corrects long-term difference in desired pitch rate vs actual pitch rate" user="Standard">
        <field name="Range">0.0 0.6</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Pitch axis rate controller I gain maximum" name="ATC_RAT_PIT_IMAX" documentation="Pitch axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Pitch axis rate controller I-term leak minimum" name="ATC_RAT_PIT_ILMI" documentation="Point below which I-term will not leak down" user="Advanced">
        <field name="Range">0 1</field>
      </param>
      <param humanName="Pitch axis rate controller D gain" name="ATC_RAT_PIT_D" documentation="Pitch axis rate controller D gain.  Compensates for short-term change in desired pitch rate vs actual pitch rate" user="Standard">
        <field name="Range">0.0 0.03</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Pitch axis rate controller feed forward" name="ATC_RAT_PIT_FF" documentation="Pitch axis rate controller feed forward" user="Standard">
        <field name="Range">0.05 0.5</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Pitch axis rate controller target frequency in Hz" name="ATC_RAT_PIT_FLTT" documentation="Pitch axis rate controller target frequency in Hz" user="Standard">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Pitch axis rate controller error frequency in Hz" name="ATC_RAT_PIT_FLTE" documentation="Pitch axis rate controller error frequency in Hz" user="Standard">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Pitch axis rate controller derivative frequency in Hz" name="ATC_RAT_PIT_FLTD" documentation="Pitch axis rate controller derivative frequency in Hz" user="Standard">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Pitch slew rate limit" name="ATC_RAT_PIT_SMAX" documentation="Sets an upper limit on the slew rate produced by the combined P and D gains. If the amplitude of the control action produced by the rate feedback exceeds this value, then the D+P gain is reduced to respect the limit. This limits the amplitude of high frequency oscillations caused by an excessive gain. The limit should be set to no more than 25% of the actuators maximum slew rate to allow for load effects. Note: The gain will not be reduced to less than 10% of the nominal value. A value of zero will disable this feature." user="Advanced">
        <field name="Range">0 200</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Yaw axis rate controller P gain" name="ATC_RAT_YAW_P" documentation="Yaw axis rate controller P gain.  Converts the difference between desired yaw rate and actual yaw rate into a motor speed output" user="Standard">
        <field name="Range">0.180 0.60</field>
        <field name="Increment">0.005</field>
      </param>
      <param humanName="Yaw axis rate controller I gain" name="ATC_RAT_YAW_I" documentation="Yaw axis rate controller I gain.  Corrects long-term difference in desired yaw rate vs actual yaw rate" user="Standard">
        <field name="Range">0.01 0.2</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Yaw axis rate controller I gain maximum" name="ATC_RAT_YAW_IMAX" documentation="Yaw axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Yaw axis rate controller I-term leak minimum" name="ATC_RAT_YAW_ILMI" documentation="Point below which I-term will not leak down" user="Advanced">
        <field name="Range">0 1</field>
      </param>
      <param humanName="Yaw axis rate controller D gain" name="ATC_RAT_YAW_D" documentation="Yaw axis rate controller D gain.  Compensates for short-term change in desired yaw rate vs actual yaw rate" user="Standard">
        <field name="Range">0.000 0.02</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Yaw axis rate controller feed forward" name="ATC_RAT_YAW_FF" documentation="Yaw axis rate controller feed forward" user="Standard">
        <field name="Range">0 0.5</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Yaw axis rate controller target frequency in Hz" name="ATC_RAT_YAW_FLTT" documentation="Yaw axis rate controller target frequency in Hz" user="Standard">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Yaw axis rate controller error frequency in Hz" name="ATC_RAT_YAW_FLTE" documentation="Yaw axis rate controller error frequency in Hz" user="Standard">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Yaw axis rate controller derivative frequency in Hz" name="ATC_RAT_YAW_FLTD" documentation="Yaw axis rate controller derivative frequency in Hz" user="Standard">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Yaw slew rate limit" name="ATC_RAT_YAW_SMAX" documentation="Sets an upper limit on the slew rate produced by the combined P and D gains. If the amplitude of the control action produced by the rate feedback exceeds this value, then the D+P gain is reduced to respect the limit. This limits the amplitude of high frequency oscillations caused by an excessive gain. The limit should be set to no more than 25% of the actuators maximum slew rate to allow for load effects. Note: The gain will not be reduced to less than 10% of the nominal value. A value of zero will disable this feature." user="Advanced">
        <field name="Range">0 200</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Piro Comp Enable" name="ATC_PIRO_COMP" documentation="Pirouette compensation enabled" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
    </parameters>
    <parameters name="AUTOTUNE_">
      <param humanName="Autotune axis bitmask" name="AUTOTUNE_AXES" documentation="1-byte bitmap of axes to autotune" user="Standard">
        <field name="Bitmask">0:Roll,1:Pitch,2:Yaw</field>
      </param>
      <param humanName="Autotune aggressiveness" name="AUTOTUNE_AGGR" documentation="Autotune aggressiveness. Defines the bounce back used to detect size of the D term." user="Standard">
        <field name="Range">0.05 0.10</field>
      </param>
      <param humanName="AutoTune minimum D" name="AUTOTUNE_MIN_D" documentation="Defines the minimum D gain" user="Standard">
        <field name="Range">0.001 0.006</field>
      </param>
      <param humanName="Autotune axis bitmask" name="AUTOTUNE_AXES" documentation="1-byte bitmap of axes to autotune" user="Standard">
        <field name="Bitmask">0:Roll,1:Pitch,2:Yaw</field>
      </param>
      <param humanName="AutoTune Sequence Bitmask" name="AUTOTUNE_SEQ" documentation="2-byte bitmask to select what tuning should be performed.  Max gain automatically performed if Rate D is selected. Values: 7:All,1:VFF Only,2:Rate D/Rate P Only(incl max gain),4:Angle P Only,8:Max Gain Only,3:VFF and Rate D/Rate P(incl max gain),5:VFF and Angle P,6:Rate D/Rate P(incl max gain) and angle P" user="Standard">
        <field name="Bitmask">0:VFF,1:Rate D/Rate P(incl max gain),2:Angle P,3:Max Gain Only</field>
      </param>
      <param humanName="AutoTune minimum sweep frequency" name="AUTOTUNE_FRQ_MIN" documentation="Defines the start frequency for sweeps and dwells" user="Standard">
        <field name="Range">10 30</field>
      </param>
      <param humanName="AutoTune maximum sweep frequency" name="AUTOTUNE_FRQ_MAX" documentation="Defines the end frequency for sweeps and dwells" user="Standard">
        <field name="Range">50 120</field>
      </param>
      <param humanName="AutoTune maximum response gain" name="AUTOTUNE_GN_MAX" documentation="Defines the response gain (output/input) to tune" user="Standard">
        <field name="Range">1 2.5</field>
      </param>
      <param humanName="AutoTune velocity xy P gain" name="AUTOTUNE_VELXY_P" documentation="Velocity xy P gain used to hold position during Max Gain, Rate P, and Rate D frequency sweeps" user="Standard">
        <field name="Range">0 1</field>
      </param>
    </parameters>
    <parameters name="AVD_">
      <param humanName="Enable Avoidance using ADSB" name="AVD_ENABLE" documentation="Enable Avoidance using ADSB" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Collision Avoidance Behavior" name="AVD_F_ACTION" documentation="Specifies aircraft behaviour when a collision is imminent" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Report</value>
          <value code="2">Climb Or Descend</value>
          <value code="3">Move Horizontally</value>
          <value code="4">Move Perpendicularly in 3D</value>
          <value code="5">RTL</value>
          <value code="6">Hover</value>
        </values>
      </param>
      <param humanName="Collision Avoidance Behavior - Warn" name="AVD_W_ACTION" documentation="Specifies aircraft behaviour when a collision may occur" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Report</value>
        </values>
      </param>
      <param humanName="Recovery behaviour after a fail event" name="AVD_F_RCVRY" documentation="Determines what the aircraft will do after a fail event is resolved" user="Advanced">
        <values>
          <value code="0">Remain in AVOID_ADSB</value>
          <value code="1">Resume previous flight mode</value>
          <value code="2">RTL</value>
          <value code="3">Resume if AUTO else Loiter</value>
        </values>
      </param>
      <param humanName="Maximum number of obstacles to track" name="AVD_OBS_MAX" documentation="Maximum number of obstacles to track" user="Advanced">
</param>
      <param humanName="Time Horizon Warn" name="AVD_W_TIME" documentation="Aircraft velocity vectors are multiplied by this time to determine closest approach.  If this results in an approach closer than W_DIST_XY or W_DIST_Z then W_ACTION is undertaken (assuming F_ACTION is not undertaken)" user="Advanced">
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Time Horizon Fail" name="AVD_F_TIME" documentation="Aircraft velocity vectors are multiplied by this time to determine closest approach.  If this results in an approach closer than F_DIST_XY or F_DIST_Z then F_ACTION is undertaken" user="Advanced">
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Distance Warn XY" name="AVD_W_DIST_XY" documentation="Closest allowed projected distance before W_ACTION is undertaken" user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance Fail XY" name="AVD_F_DIST_XY" documentation="Closest allowed projected distance before F_ACTION is undertaken" user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance Warn Z" name="AVD_W_DIST_Z" documentation="Closest allowed projected distance before BEHAVIOUR_W is undertaken" user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance Fail Z" name="AVD_F_DIST_Z" documentation="Closest allowed projected distance before BEHAVIOUR_F is undertaken" user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="ADS-B avoidance minimum altitude" name="AVD_F_ALT_MIN" documentation="Minimum AMSL (above mean sea level) altitude for ADS-B avoidance. If the vehicle is below this altitude, no avoidance action will take place. Useful to prevent ADS-B avoidance from activating while below the tree line or around structures. Default of 0 is no minimum." user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="AVOID_">
      <param humanName="Avoidance control enable/disable" name="AVOID_ENABLE" documentation="Enabled/disable avoidance input sources" user="Standard">
        <field name="Bitmask">0:UseFence,1:UseProximitySensor,2:UseBeaconFence</field>
      </param>
      <param humanName="Avoidance max lean angle in non-GPS flight modes" name="AVOID_ANGLE_MAX" documentation="Max lean angle used to avoid obstacles while in non-GPS modes" user="Standard">
        <field name="Range">0 4500</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Avoidance distance maximum in non-GPS flight modes" name="AVOID_DIST_MAX" documentation="Distance from object at which obstacle avoidance will begin in non-GPS modes" user="Standard">
        <field name="Range">1 30</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Avoidance distance margin in GPS modes" name="AVOID_MARGIN" documentation="Vehicle will attempt to stay at least this distance (in meters) from objects while in GPS modes" user="Standard">
        <field name="Range">1 10</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Avoidance behaviour" name="AVOID_BEHAVE" documentation="Avoidance behaviour (slide or stop)" user="Standard">
        <values>
          <value code="0">Slide</value>
          <value code="1">Stop</value>
        </values>
      </param>
      <param humanName="Avoidance maximum backup speed" name="AVOID_BACKUP_SPD" documentation="Maximum speed that will be used to back away from obstacles in GPS modes (m/s). Set zero to disable" user="Standard">
        <field name="Range">0 2</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Avoidance minimum altitude" name="AVOID_ALT_MIN" documentation="Minimum altitude above which proximity based avoidance will start working. This requires a valid downward facing rangefinder reading to work. Set zero to disable" user="Standard">
        <field name="Range">0 6</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Avoidance maximum acceleration" name="AVOID_ACCEL_MAX" documentation="Maximum acceleration with which obstacles will be avoided with. Set zero to disable acceleration limits" user="Standard">
        <field name="Range">0 9</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Avoidance deadzone between stopping and backing away from obstacle" name="AVOID_BACKUP_DZ" documentation="Distance beyond AVOID_MARGIN parameter, after which vehicle will backaway from obstacles. Increase this parameter if you see vehicle going back and forth in front of obstacle." user="Standard">
        <field name="Range">0 2</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="BARO">
      <param humanName="Ground Pressure" name="BARO1_GND_PRESS" documentation="calibrated ground pressure in Pascals" user="Advanced">
        <field name="ReadOnly">True</field>
        <field name="Volatile">True</field>
        <field name="Increment">1</field>
        <field name="Units">Pa</field>
        <field name="UnitText">pascal</field>
      </param>
      <param humanName="ground temperature" name="BARO_GND_TEMP" documentation="User provided ambient ground temperature in degrees Celsius. This is used to improve the calculation of the altitude the vehicle is at. This parameter is not persistent and will be reset to 0 every time the vehicle is rebooted. A value of 0 means use the internal measurement ambient temperature." user="Advanced">
        <field name="Volatile">True</field>
        <field name="Increment">1</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="altitude offset" name="BARO_ALT_OFFSET" documentation="altitude offset in meters added to barometric altitude. This is used to allow for automatic adjustment of the base barometric altitude by a ground station equipped with a barometer. The value is added to the barometric altitude read by the aircraft. It is automatically reset to 0 when the barometer is calibrated on each reboot or when a preflight calibration is performed." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Primary barometer" name="BARO_PRIMARY" documentation="This selects which barometer will be the primary if multiple barometers are found" user="Advanced">
        <values>
          <value code="0">FirstBaro</value>
          <value code="1">2ndBaro</value>
          <value code="2">3rdBaro</value>
        </values>
      </param>
      <param humanName="External baro bus" name="BARO_EXT_BUS" documentation="This selects the bus number for looking for an I2C barometer. When set to -1 it will probe all external i2c buses based on the GND_PROBE_EXT parameter." user="Advanced">
        <values>
          <value code="-1">Disabled</value>
          <value code="0">Bus0</value>
          <value code="1">Bus1</value>
        </values>
      </param>
      <param humanName="Specific Gravity (For water depth measurement)" name="BARO_SPEC_GRAV" documentation="This sets the specific gravity of the fluid when flying an underwater ROV.">
        <values>
          <value code="1.0">Freshwater</value>
          <value code="1.024">Saltwater</value>
        </values>
      </param>
      <param humanName="Ground Pressure" name="BARO2_GND_PRESS" documentation="calibrated ground pressure in Pascals" user="Advanced">
        <field name="ReadOnly">True</field>
        <field name="Volatile">True</field>
        <field name="Increment">1</field>
        <field name="Units">Pa</field>
        <field name="UnitText">pascal</field>
      </param>
      <param humanName="Absolute Pressure" name="BARO3_GND_PRESS" documentation="calibrated ground pressure in Pascals" user="Advanced">
        <field name="ReadOnly">True</field>
        <field name="Volatile">True</field>
        <field name="Increment">1</field>
        <field name="Units">Pa</field>
        <field name="UnitText">pascal</field>
      </param>
      <param humanName="Range in which sample is accepted" name="BARO_FLTR_RNG" documentation="This sets the range around the average value that new samples must be within to be accepted. This can help reduce the impact of noise on sensors that are on long I2C cables. The value is a percentage from the average value. A value of zero disables this filter.">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="External barometers to probe" name="BARO_PROBE_EXT" documentation="This sets which types of external i2c barometer to look for. It is a bitmask of barometer types. The I2C buses to probe is based on GND_EXT_BUS. If BARO_EXT_BUS is -1 then it will probe all external buses, otherwise it will probe just the bus number given in GND_EXT_BUS." user="Advanced">
        <field name="Bitmask">0:BMP085,1:BMP280,2:MS5611,3:MS5607,4:MS5637,5:FBM320,6:DPS280,7:LPS25H,8:Keller,9:MS5837,10:BMP388,11:SPL06,12:MSP</field>
      </param>
      <param humanName="Baro ID" name="BARO1_DEVID" documentation="Barometer sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Baro ID2" name="BARO2_DEVID" documentation="Barometer2 sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Baro ID3" name="BARO3_DEVID" documentation="Barometer3 sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
    </parameters>
    <parameters name="BARO1_WCF_">
      <param humanName="Wind coefficient enable" name="BARO1_WCF_ENABLE" documentation="This enables the use of wind coefficients for barometer compensation" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Pressure error coefficient in positive X direction (forward)" name="BARO1_WCF_FWD" documentation="This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forwards flight, then this will be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in negative X direction (backwards)" name="BARO1_WCF_BCK" documentation="This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in positive Y direction (right)" name="BARO1_WCF_RGT" documentation="This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the Y body axis. If the baro height estimate rises during sideways flight to the right, then this should be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in negative Y direction (left)" name="BARO1_WCF_LFT" documentation="This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the Y body axis. If the baro height estimate rises during sideways flight to the left, then this should be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
    </parameters>
    <parameters name="BARO2_WCF_">
      <param humanName="Wind coefficient enable" name="BARO2_WCF_ENABLE" documentation="This enables the use of wind coefficients for barometer compensation" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Pressure error coefficient in positive X direction (forward)" name="BARO2_WCF_FWD" documentation="This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forwards flight, then this will be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in negative X direction (backwards)" name="BARO2_WCF_BCK" documentation="This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in positive Y direction (right)" name="BARO2_WCF_RGT" documentation="This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the Y body axis. If the baro height estimate rises during sideways flight to the right, then this should be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in negative Y direction (left)" name="BARO2_WCF_LFT" documentation="This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the Y body axis. If the baro height estimate rises during sideways flight to the left, then this should be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
    </parameters>
    <parameters name="BARO3_WCF_">
      <param humanName="Wind coefficient enable" name="BARO3_WCF_ENABLE" documentation="This enables the use of wind coefficients for barometer compensation" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Pressure error coefficient in positive X direction (forward)" name="BARO3_WCF_FWD" documentation="This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forwards flight, then this will be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in negative X direction (backwards)" name="BARO3_WCF_BCK" documentation="This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in positive Y direction (right)" name="BARO3_WCF_RGT" documentation="This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the Y body axis. If the baro height estimate rises during sideways flight to the right, then this should be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Pressure error coefficient in negative Y direction (left)" name="BARO3_WCF_LFT" documentation="This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the Y body axis. If the baro height estimate rises during sideways flight to the left, then this should be a negative number. Multirotors can use this feature only if using EKF3 and if the EK3_BCOEF_X and EK3_BCOEF_Y parameters have been tuned." user="Advanced">
        <field name="Range">-1.0 1.0</field>
        <field name="Increment">0.05</field>
      </param>
    </parameters>
    <parameters name="BATT2_">
      <param humanName="Battery monitoring" name="BATT2_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT2_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT2_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT2_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT2_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT2_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT2_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT2_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT2_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT2_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT2_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT2_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT2_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT2_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT2__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT2_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT2_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT2_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT2_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT2__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT2_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT2_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT2_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT2_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT2_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT2_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT2_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT2_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT2_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT2_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT2_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT2_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT3_">
      <param humanName="Battery monitoring" name="BATT3_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT3_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT3_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT3_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT3_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT3_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT3_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT3_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT3_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT3_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT3_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT3_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT3_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT3_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT3__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT3_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT3_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT3_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT3_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT3__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT3_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT3_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT3_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT3_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT3_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT3_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT3_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT3_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT3_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT3_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT3_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT3_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT4_">
      <param humanName="Battery monitoring" name="BATT4_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT4_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT4_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT4_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT4_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT4_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT4_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT4_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT4_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT4_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT4_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT4_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT4_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT4_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT4__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT4_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT4_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT4_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT4_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT4__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT4_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT4_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT4_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT4_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT4_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT4_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT4_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT4_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT4_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT4_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT4_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT4_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT5_">
      <param humanName="Battery monitoring" name="BATT5_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT5_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT5_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT5_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT5_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT5_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT5_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT5_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT5_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT5_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT5_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT5_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT5_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT5_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT5__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT5_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT5_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT5_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT5_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT5__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT5_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT5_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT5_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT5_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT5_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT5_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT5_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT5_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT5_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT5_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT5_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT5_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT6_">
      <param humanName="Battery monitoring" name="BATT6_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT6_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT6_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT6_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT6_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT6_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT6_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT6_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT6_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT6_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT6_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT6_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT6_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT6_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT6__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT6_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT6_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT6_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT6_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT6__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT6_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT6_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT6_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT6_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT6_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT6_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT6_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT6_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT6_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT6_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT6_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT6_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT7_">
      <param humanName="Battery monitoring" name="BATT7_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT7_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT7_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT7_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT7_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT7_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT7_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT7_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT7_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT7_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT7_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT7_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT7_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT7_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT7__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT7_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT7_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT7_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT7_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT7__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT7_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT7_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT7_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT7_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT7_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT7_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT7_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT7_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT7_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT7_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT7_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT7_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT8_">
      <param humanName="Battery monitoring" name="BATT8_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT8_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT8_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT8_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT8_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT8_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT8_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT8_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT8_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT8_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT8_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT8_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT8_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT8_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT8__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT8_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT8_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT8_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT8_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT8__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT8_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT8_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT8_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT8_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT8_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT8_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT8_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT8_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT8_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT8_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT8_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT8_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT9_">
      <param humanName="Battery monitoring" name="BATT9_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT9_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT9_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT9_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT9_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT9_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT9_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT9_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT9_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT9_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT9_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT9_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT9_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT9_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT9__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT9_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT9_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT9_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT9_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT9__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT9_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT9_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT9_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT9_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT9_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT9_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT9_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT9_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT9_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT9_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT9_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT9_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BATT_">
      <param humanName="Battery monitoring" name="BATT_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="3">Analog Voltage Only</value>
          <value code="4">Analog Voltage and Current</value>
          <value code="5">Solo</value>
          <value code="6">Bebop</value>
          <value code="7">SMBus-Generic</value>
          <value code="8">DroneCAN-BatteryInfo</value>
          <value code="9">ESC</value>
          <value code="10">Sum Of Selected Monitors</value>
          <value code="11">FuelFlow</value>
          <value code="12">FuelLevelPWM</value>
          <value code="13">SMBUS-SUI3</value>
          <value code="14">SMBUS-SUI6</value>
          <value code="15">NeoDesign</value>
          <value code="16">SMBus-Maxell</value>
          <value code="17">Generator-Elec</value>
          <value code="18">Generator-Fuel</value>
          <value code="19">Rotoye</value>
          <value code="20">MPPT</value>
          <value code="21">INA2XX</value>
          <value code="22">LTC2946</value>
          <value code="23">Torqeedo</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery capacity" name="BATT_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery serial number" name="BATT_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With DroneCan it is the battery_id." user="Advanced">
</param>
      <param humanName="Low voltage timeout" name="BATT_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Failsafe voltage source" name="BATT_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
        <values>
          <value code="0">Raw Voltage</value>
          <value code="1">Sag Compensated Voltage</value>
        </values>
      </param>
      <param humanName="Low battery voltage" name="BATT_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Low battery capacity" name="BATT_LOW_MAH" documentation="Battery capacity at which the low battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT_FS_LOW_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Critical battery voltage" name="BATT_CRT_VOLT" documentation="Battery voltage that triggers a critical battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT_FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery critical capacity" name="BATT_CRT_MAH" documentation="Battery capacity at which the critical battery failsafe is triggered. Set to 0 to disable battery remaining failsafe. If the battery capacity drops below this level the vehicle will perform the failsafe specified by the BATT__FS_CRT_ACT parameter." user="Standard">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Low battery failsafe action" name="BATT_FS_LOW_ACT" documentation="What action the vehicle should perform if it hits a low battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Critical battery failsafe action" name="BATT_FS_CRT_ACT" documentation="What action the vehicle should perform if it hits a critical battery failsafe" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Land</value>
          <value code="2">RTL</value>
          <value code="3">SmartRTL or RTL</value>
          <value code="4">SmartRTL or Land</value>
          <value code="5">Terminate</value>
          <value code="6">Auto DO_LAND_START or RTL</value>
        </values>
      </param>
      <param humanName="Required arming voltage" name="BATT_ARM_VOLT" documentation="Battery voltage level which is required to arm the aircraft. Set to 0 to allow arming at any voltage." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Required arming remaining capacity" name="BATT_ARM_MAH" documentation="Battery capacity remaining which is required to arm the aircraft. Set to 0 to allow arming at any capacity. Note that execept for smart batteries rebooting the vehicle will always reset the remaining capacity estimate, which can lead to this check not providing sufficent protection, it is recommended to always use this in conjunction with the BATT__ARM_VOLT parameter." user="Advanced">
        <field name="Increment">50</field>
        <field name="Units">mAh</field>
        <field name="UnitText">milliampere hour</field>
      </param>
      <param humanName="Battery monitor options" name="BATT_OPTIONS" documentation="This sets options to change the behaviour of the battery monitor" user="Advanced">
        <field name="Bitmask">0:Ignore DroneCAN SoC, 1:MPPT reports input voltage and current, 2:MPPT Powered off when disarmed, 3:MPPT Powered on when armed, 4:MPPT Powered off at boot, 5:MPPT Powered on at boot, 6:Send resistance compensated voltage to GCS</field>
      </param>
      <param humanName="Battery Voltage sensing pin" name="BATT_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="5">Navigator</value>
          <value code="13">Pixhawk2_PM2/CubeOrange_PM2</value>
          <value code="14">CubeOrange</value>
          <value code="16">Durandal</value>
          <value code="100">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Current sensing pin" name="BATT_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
          <value code="4">CubeOrange_PM2/Navigator</value>
          <value code="14">Pixhawk2_PM2</value>
          <value code="15">CubeOrange</value>
          <value code="17">Durandal</value>
          <value code="101">PX4-v1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Voltage Multiplier" name="BATT_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
      <param humanName="Amps per volt" name="BATT_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
        <field name="Units">A/V</field>
        <field name="UnitText">ampere per volt</field>
      </param>
      <param humanName="AMP offset" name="BATT_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Volage offset" name="BATT_VLT_OFFSET" documentation="Voltage offset on voltage pin. This allows for an offset due to a diode. This voltage is subtracted before the scaling is applied" user="Advanced">
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery monitor I2C bus number" name="BATT_I2C_BUS" documentation="Battery monitor I2C bus number" user="Advanced">
        <field name="Range">0 3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery monitor I2C address" name="BATT_I2C_ADDR" documentation="Battery monitor I2C address" user="Advanced">
        <field name="Range">0 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Battery Sum mask" name="BATT_SUM_MASK" documentation="0: sum of remaining battery monitors, If none 0 sum of specified monitors. Current will be summed and voltages averaged." user="Standard">
        <field name="Bitmask">0:monitor 1, 1:monitor 2, 2:monitor 3, 3:monitor 4, 4:monitor 5, 5:monitor 6, 6:monitor 7, 7:monitor 8, 8:monitor 9</field>
      </param>
      <param humanName="Scales reported power monitor current" name="BATT_CURR_MULT" documentation="Multiplier applied to all current related reports to allow for adjustment if no UAVCAN param access or current splitting applications" user="Advanced">
        <field name="Range">.1 10</field>
      </param>
    </parameters>
    <parameters name="BCN">
      <param humanName="Beacon based position estimation device type" name="BCN_TYPE" documentation="What type of beacon based position estimation device is connected" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Pozyx</value>
          <value code="2">Marvelmind</value>
          <value code="3">Nooploop</value>
          <value code="10">SITL</value>
        </values>
      </param>
      <param humanName="Beacon origin's latitude" name="BCN_LATITUDE" documentation="Beacon origin's latitude" user="Advanced">
        <field name="Range">-90 90</field>
        <field name="Increment">0.000001</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Beacon origin's longitude" name="BCN_LONGITUDE" documentation="Beacon origin's longitude" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Increment">0.000001</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Beacon origin's altitude above sealevel in meters" name="BCN_ALT" documentation="Beacon origin's altitude above sealevel in meters" user="Advanced">
        <field name="Range">0 10000</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Beacon systems rotation from north in degrees" name="BCN_ORIENT_YAW" documentation="Beacon systems rotation from north in degrees" user="Advanced">
        <field name="Range">-180 +180</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
    </parameters>
    <parameters name="BRD_">
      <param humanName="Serial 1 flow control" name="BRD_SER1_RTSCTS" documentation="Enable flow control on serial 1 (telemetry 1). You must have the RTS and CTS pins connected to your radio. The standard DF13 6 pin connector for a 3DR radio does have those pins connected. If this is set to 2 then flow control will be auto-detected by checking for the output buffer filling on startup. Note that the PX4v1 does not have hardware flow control pins on this port, so you should leave this disabled." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">Auto</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 2 flow control" name="BRD_SER2_RTSCTS" documentation="Enable flow control on serial 2 (telemetry 2). You must have the RTS and CTS pins connected to your radio. The standard DF13 6 pin connector for a 3DR radio does have those pins connected. If this is set to 2 then flow control will be auto-detected by checking for the output buffer filling on startup." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">Auto</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 3 flow control" name="BRD_SER3_RTSCTS" documentation="Enable flow control on serial 3. You must have the RTS and CTS pins connected to your radio. The standard DF13 6 pin connector for a 3DR radio does have those pins connected. If this is set to 2 then flow control will be auto-detected by checking for the output buffer filling on startup." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">Auto</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 4 flow control" name="BRD_SER4_RTSCTS" documentation="Enable flow control on serial 4. You must have the RTS and CTS pins connected to your radio. The standard DF13 6 pin connector for a 3DR radio does have those pins connected. If this is set to 2 then flow control will be auto-detected by checking for the output buffer filling on startup." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">Auto</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 5 flow control" name="BRD_SER5_RTSCTS" documentation="Enable flow control on serial 5. You must have the RTS and CTS pins connected to your radio. The standard DF13 6 pin connector for a 3DR radio does have those pins connected. If this is set to 2 then flow control will be auto-detected by checking for the output buffer filling on startup." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">Auto</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Enable use of safety arming switch" name="BRD_SAFETYENABLE" documentation="This controls the default state of the safety switch at startup. When set to 1 the safety switch will start in the safe state (flashing) at boot. When set to zero the safety switch will start in the unsafe state (solid) at startup. Note that if a safety switch is fitted the user can still control the safety state after startup using the switch. The safety state can also be controlled in software using a MAVLink message." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName=" SBUS output rate" name="BRD_SBUS_OUT" documentation="This sets the SBUS output frame rate in Hz" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">50Hz</value>
          <value code="2">75Hz</value>
          <value code="3">100Hz</value>
          <value code="4">150Hz</value>
          <value code="5">200Hz</value>
          <value code="6">250Hz</value>
          <value code="7">300Hz</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="User-defined serial number" name="BRD_SERIAL_NUM" documentation="User-defined serial number of this vehicle, it can be any arbitrary number you want and has no effect on the autopilot" user="Standard">
        <field name="Range">-32768 32767</field>
      </param>
      <param humanName="Outputs which ignore the safety switch state" name="BRD_SAFETY_MASK" documentation="A bitmask which controls what outputs can move while the safety switch has not been pressed" user="Advanced">
        <field name="Bitmask">0:Output1,1:Output2,2:Output3,3:Output4,4:Output5,5:Output6,6:Output7,7:Output8,8:Output9,9:Output10,10:Output11,11:Output12,12:Output13,13:Output14</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Board heater temperature target" name="BRD_HEAT_TARG" documentation="Board heater target temperature for boards with controllable heating units. DO NOT SET to -1 on the Cube. Set to -1 to disable the heater, please reboot after setting to -1." user="Advanced">
        <field name="Range">-1 80</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Board type" name="BRD_TYPE" documentation="This allows selection of a PX4 or VRBRAIN board type. If set to zero then the board type is auto-detected (PX4)" user="Advanced">
        <values>
          <value code="0">AUTO</value>
          <value code="1">PX4V1</value>
          <value code="2">Pixhawk</value>
          <value code="3">Cube/Pixhawk2</value>
          <value code="4">Pixracer</value>
          <value code="5">PixhawkMini</value>
          <value code="6">Pixhawk2Slim</value>
          <value code="13">Intel Aero FC</value>
          <value code="14">Pixhawk Pro</value>
          <value code="20">AUAV2.1</value>
          <value code="21">PCNC1</value>
          <value code="22">MINDPXV2</value>
          <value code="23">SP01</value>
          <value code="24">CUAVv5/FMUV5</value>
          <value code="30">VRX BRAIN51</value>
          <value code="32">VRX BRAIN52</value>
          <value code="33">VRX BRAIN52E</value>
          <value code="34">VRX UBRAIN51</value>
          <value code="35">VRX UBRAIN52</value>
          <value code="36">VRX CORE10</value>
          <value code="38">VRX BRAIN54</value>
          <value code="39">PX4 FMUV6</value>
          <value code="100">PX4 OLDDRIVERS</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Enable IO co-processor" name="BRD_IO_ENABLE" documentation="This allows for the IO co-processor on FMUv1 and FMUv2 to be disabled" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Options for safety button behavior" name="BRD_SAFETYOPTION" documentation="This controls the activation of the safety button. It allows you to control if the safety button can be used for safety enable and/or disable, and whether the button is only active when disarmed" user="Standard">
        <field name="Bitmask">0:ActiveForSafetyEnable,1:ActiveForSafetyDisable,2:ActiveWhenArmed,3:Force safety on when the aircraft disarms</field>
      </param>
      <param humanName="Autopilot board voltage requirement" name="BRD_VBUS_MIN" documentation="Minimum voltage on the autopilot power rail to allow the aircraft to arm. 0 to disable the check." user="Advanced">
        <field name="Range">4.0 5.5</field>
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Servo voltage requirement" name="BRD_VSERVO_MIN" documentation="Minimum voltage on the servo rail to allow the aircraft to arm. 0 to disable the check." user="Advanced">
        <field name="Range">3.3 12.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="microSD slowdown" name="BRD_SD_SLOWDOWN" documentation="This is a scaling factor to slow down microSD operation. It can be used on flight board and microSD card combinations where full speed is not reliable. For normal full speed operation a value of 0 should be used." user="Advanced">
        <field name="Range">0 32</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Set PWM Out Voltage" name="BRD_PWM_VOLT_SEL" documentation="This sets the voltage max for PWM output pulses. 0 for 3.3V and 1 for 5V output." user="Advanced">
        <values>
          <value code="0">3.3V</value>
          <value code="1">5V</value>
        </values>
      </param>
      <param humanName="Board options" name="BRD_OPTIONS" documentation="Board specific option flags" user="Advanced">
        <field name="Bitmask">0:Enable hardware watchdog, 1:Disable MAVftp, 2:Enable set of internal parameters, 3:Enable Debug Pins, 4:Unlock flash on reboot, 5:Write protect firmware flash on reboot, 6:Write protect bootloader flash on reboot</field>
      </param>
      <param humanName="Boot delay" name="BRD_BOOT_DELAY" documentation="This adds a delay in milliseconds to boot to ensure peripherals initialise fully" user="Advanced">
        <field name="Range">0 10000</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="Board Heater P gain" name="BRD_HEAT_P" documentation="Board Heater P gain" user="Advanced">
        <field name="Range">1 500</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Board Heater I gain" name="BRD_HEAT_I" documentation="Board Heater integrator gain" user="Advanced">
        <field name="Range">0 1</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Board Heater IMAX" name="BRD_HEAT_IMAX" documentation="Board Heater integrator maximum" user="Advanced">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Alternative HW config" name="BRD_ALT_CONFIG" documentation="Select an alternative hardware configuration. A value of zero selects the default configuration for this board. Other values are board specific. Please see the documentation for your board for details on any alternative configuration values that may be available." user="Advanced">
        <field name="Range">0 10</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Board heater temp lower margin" name="BRD_HEAT_LOWMGN" documentation="Arming check will fail if temp is lower than this margin below BRD_HEAT_TARG. 0 disables the low temperature check" user="Advanced">
        <field name="Range">0 20</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
    </parameters>
    <parameters name="BRD_RADIO">
      <param humanName="Set type of direct attached radio" name="BRD_RADIO_TYPE" documentation="This enables support for direct attached radio receivers">
        <values>
          <value code="0">None</value>
          <value code="1">CYRF6936</value>
          <value code="2">CC2500</value>
          <value code="3">BK2425</value>
        </values>
      </param>
      <param humanName="protocol" name="BRD_RADIO_PROT" documentation="Select air protocol" user="Advanced">
        <values>
          <value code="0">Auto</value>
          <value code="1">DSM2</value>
          <value code="2">DSMX</value>
        </values>
      </param>
      <param humanName="debug level" name="BRD_RADIO_DEBUG" documentation="radio debug level" user="Advanced">
        <field name="Range">0 4</field>
      </param>
      <param humanName="disable receive CRC" name="BRD_RADIO_DISCRC" documentation="disable receive CRC (for debug)" user="Advanced">
        <values>
          <value code="0">NotDisabled</value>
          <value code="1">Disabled</value>
        </values>
      </param>
      <param humanName="RSSI signal strength" name="BRD_RADIO_SIGCH" documentation="Channel to show receive RSSI signal strength, or zero for disabled" user="Advanced">
        <field name="Range">0 16</field>
      </param>
      <param humanName="Packet rate channel" name="BRD_RADIO_PPSCH" documentation="Channel to show received packet-per-second rate, or zero for disabled" user="Advanced">
        <field name="Range">0 16</field>
      </param>
      <param humanName="Enable telemetry" name="BRD_RADIO_TELEM" documentation="If this is non-zero then telemetry packets will be sent over DSM" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Telemetry Transmit power" name="BRD_RADIO_TXPOW" documentation="Set telemetry transmit power. This is the power level (from 1 to 8) for telemetry packets sent from the RX to the TX" user="Advanced">
        <field name="Range">1 8</field>
      </param>
      <param humanName="Put radio into FCC test mode" name="BRD_RADIO_FCCTST" documentation="If this is enabled then the radio will continuously transmit as required for FCC testing. The transmit channel is set by the value of the parameter. The radio will not work for RC input while this is enabled" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">MinChannel</value>
          <value code="2">MidChannel</value>
          <value code="3">MaxChannel</value>
          <value code="4">MinChannelCW</value>
          <value code="5">MidChannelCW</value>
          <value code="6">MaxChannelCW</value>
        </values>
      </param>
      <param humanName="Stick input mode" name="BRD_RADIO_STKMD" documentation="This selects between different stick input modes. The default is mode2, which has throttle on the left stick and pitch on the right stick. You can instead set mode1, which has throttle on the right stick and pitch on the left stick." user="Advanced">
        <values>
          <value code="1">Mode1</value>
          <value code="2">Mode2</value>
        </values>
      </param>
      <param humanName="Set radio to factory test channel" name="BRD_RADIO_TESTCH" documentation="This sets the radio to a fixed test channel for factory testing. Using a fixed channel avoids the need for binding in factory testing." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">TestChan1</value>
          <value code="2">TestChan2</value>
          <value code="3">TestChan3</value>
          <value code="4">TestChan4</value>
          <value code="5">TestChan5</value>
          <value code="6">TestChan6</value>
          <value code="7">TestChan7</value>
          <value code="8">TestChan8</value>
        </values>
      </param>
      <param humanName="RSSI value channel for telemetry data on transmitter" name="BRD_RADIO_TSIGCH" documentation="Channel to show telemetry RSSI value as received by TX" user="Advanced">
        <field name="Range">0 16</field>
      </param>
      <param humanName="Telemetry PPS channel" name="BRD_RADIO_TPPSCH" documentation="Channel to show telemetry packets-per-second value, as received at TX" user="Advanced">
        <field name="Range">0 16</field>
      </param>
      <param humanName="Transmitter transmit power" name="BRD_RADIO_TXMAX" documentation="Set transmitter maximum transmit power (from 1 to 8)" user="Advanced">
        <field name="Range">1 8</field>
      </param>
      <param humanName="Transmitter buzzer adjustment" name="BRD_RADIO_BZOFS" documentation="Set transmitter buzzer note adjustment (adjust frequency up)" user="Advanced">
        <field name="Range">0 40</field>
      </param>
      <param humanName="Auto-bind time" name="BRD_RADIO_ABTIME" documentation="When non-zero this sets the time with no transmitter packets before we start looking for auto-bind packets." user="Advanced">
        <field name="Range">0 120</field>
      </param>
      <param humanName="Auto-bind level" name="BRD_RADIO_ABLVL" documentation="This sets the minimum RSSI of an auto-bind packet for it to be accepted. This should be set so that auto-bind will only happen at short range to minimise the change of an auto-bind happening accidentially" user="Advanced">
        <field name="Range">0 31</field>
      </param>
    </parameters>
    <parameters name="BRD_RTC">
      <param humanName="Allowed sources of RTC time" name="BRD_RTC_TYPES" documentation="Specifies which sources of UTC time will be accepted" user="Advanced">
        <field name="Bitmask">0:GPS,1:MAVLINK_SYSTEM_TIME,2:HW</field>
      </param>
      <param humanName="Timezone offset from UTC" name="BRD_RTC_TZ_MIN" documentation="Adds offset in +- minutes from UTC to calculate local time" user="Advanced">
        <field name="Range">-720 +840</field>
      </param>
    </parameters>
    <parameters name="BTN_">
      <param humanName="Enable button reporting" name="BTN_ENABLE" documentation="This enables the button checking module. When this is disabled the parameters for setting button inputs are not visible" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="First button Pin" name="BTN_PIN1" documentation="Digital pin number for first button input. " user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
        </values>
      </param>
      <param humanName="Second button Pin" name="BTN_PIN2" documentation="Digital pin number for second button input. " user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
        </values>
      </param>
      <param humanName="Third button Pin" name="BTN_PIN3" documentation="Digital pin number for third button input. " user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
        </values>
      </param>
      <param humanName="Fourth button Pin" name="BTN_PIN4" documentation="Digital pin number for fourth button input. " user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
        </values>
      </param>
      <param humanName="Report send time" name="BTN_REPORT_SEND" documentation="The duration in seconds that a BUTTON_CHANGE report is repeatedly sent to the GCS regarding a button changing state. Note that the BUTTON_CHANGE message is MAVLink2 only." user="Standard">
        <field name="Range">0 3600</field>
      </param>
      <param humanName="Button Pin 1 Options" name="BTN_OPTIONS1" documentation="Options for Pin 1. PWM input detects PWM above or below 1800/1200us instead of logic level. Invert changes HIGH state to be logic low voltage on pin, or below 1200us, if PWM input." user="Standard">
        <field name="Bitmask">0:PWM Input,1:InvertInput</field>
      </param>
      <param humanName="Button Pin 2 Options" name="BTN_OPTIONS2" documentation="Options for Pin 2. PWM input detects PWM above or below 1800/1200us instead of logic level. Invert changes HIGH state to be logic low voltage on pin, or below 1200us, if PWM input." user="Standard">
        <field name="Bitmask">0:PWM Input,1:InvertInput</field>
      </param>
      <param humanName="Button Pin 3 Options" name="BTN_OPTIONS3" documentation="Options for Pin 3. PWM input detects PWM above or below 1800/1200us instead of logic level. Invert changes HIGH state to be logic low voltage on pin, or below 1200us, if PWM input.">
        <field name="Bitmask">0:PWM Input,1:InvertInput</field>
      </param>
      <param humanName="Button Pin 4 Options" name="BTN_OPTIONS4" documentation="Options for Pin 4. PWM input detects PWM above or below 1800/1200us instead of logic level. Invert changes HIGH state to be logic low voltage on pin, or below 1200us, if PWM input." user="Standard">
        <field name="Bitmask">0:PWM Input,1:InvertInput</field>
      </param>
      <param humanName="Button Pin 1 RC Channel function" name="BTN_FUNC1" documentation="Auxiliary RC Options function executed on pin change" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
      <param humanName="Button Pin 2 RC Channel function" name="BTN_FUNC2" documentation="Auxiliary RC Options function executed on pin change" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
      <param humanName="Button Pin 3 RC Channel function" name="BTN_FUNC3" documentation="Auxiliary RC Options function executed on pin change" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
      <param humanName="Button Pin 4 RC Channel function" name="BTN_FUNC4" documentation="Auxiliary RC Options function executed on pin change" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="CAM_">
      <param humanName="Camera shutter (trigger) type" name="CAM_TRIGG_TYPE" documentation="how to trigger the camera to take a picture" user="Standard">
        <values>
          <value code="0">Servo</value>
          <value code="1">Relay</value>
          <value code="2">GoPro in Solo Gimbal</value>
        </values>
      </param>
      <param humanName="Duration that shutter is held open" name="CAM_DURATION" documentation="How long the shutter will be held open in 10ths of a second (i.e. enter 10 for 1second, 50 for 5seconds)" user="Standard">
        <field name="Range">0 50</field>
        <field name="Units">ds</field>
        <field name="UnitText">deciseconds</field>
      </param>
      <param humanName="Servo ON PWM value" name="CAM_SERVO_ON" documentation="PWM value in microseconds to move servo to when shutter is activated" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo OFF PWM value" name="CAM_SERVO_OFF" documentation="PWM value in microseconds to move servo to when shutter is deactivated" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Camera trigger distance" name="CAM_TRIGG_DIST" documentation="Distance in meters between camera triggers. If this value is non-zero then the camera will trigger whenever the position changes by this number of meters regardless of what mode the APM is in. Note that this parameter can also be set in an auto mission using the DO_SET_CAM_TRIGG_DIST command, allowing you to enable/disable the triggering of the camera during the flight." user="Standard">
        <field name="Range">0 1000</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Relay ON value" name="CAM_RELAY_ON" documentation="This sets whether the relay goes high or low when it triggers. Note that you should also set RELAY_DEFAULT appropriately for your camera" user="Standard">
        <values>
          <value code="0">Low</value>
          <value code="1">High</value>
        </values>
      </param>
      <param humanName="Minimum time between photos" name="CAM_MIN_INTERVAL" documentation="Postpone shooting if previous picture was taken less than preset time(ms) ago." user="Standard">
        <field name="Range">0 10000</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="Maximum photo roll angle." name="CAM_MAX_ROLL" documentation="Postpone shooting if roll is greater than limit. (0=Disable, will shoot regardless of roll)." user="Standard">
        <field name="Range">0 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Camera feedback pin" name="CAM_FEEDBACK_PIN" documentation="pin number to use for save accurate camera feedback messages. If set to -1 then don't use a pin flag for this, otherwise this is a pin number which if held high after a picture trigger order, will save camera messages when camera really takes a picture. A universal camera hot shoe is needed. The pin should be held high for at least 2 milliseconds for reliable trigger detection. See also the CAM_FEEDBACK_POL option." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Camera feedback pin polarity" name="CAM_FEEDBACK_POL" documentation="Polarity for feedback pin. If this is 1 then the feedback pin should go high on trigger. If set to 0 then it should go low" user="Standard">
        <values>
          <value code="0">TriggerLow</value>
          <value code="1">TriggerHigh</value>
        </values>
      </param>
      <param humanName="Distance-trigging in AUTO mode only" name="CAM_AUTO_ONLY" documentation="When enabled, trigging by distance is done in AUTO mode only." user="Standard">
        <values>
          <value code="0">Always</value>
          <value code="1">Only when in AUTO</value>
        </values>
      </param>
      <param humanName="Type of camera (0: None, 1: BMMCC)" name="CAM_TYPE" documentation="Set the camera type that is being used, certain cameras have custom functions that need further configuration, this enables that." user="Standard">
        <values>
          <value code="0">Default</value>
          <value code="1">BMMCC</value>
        </values>
      </param>
    </parameters>
    <parameters name="CAM_RC_">
      <param humanName="RunCam device type" name="CAM_RC_TYPE" documentation="RunCam deviee type used to determine OSD menu structure and shutter options.">
        <values>
          <value code="0">Disabled</value>
          <value code="1">RunCam Split Micro/RunCam with UART</value>
          <value code="2">RunCam Split</value>
          <value code="3">RunCam Split4 4k</value>
          <value code="4">RunCam Hybrid</value>
        </values>
      </param>
      <param humanName="RunCam features available" name="CAM_RC_FEATURES" documentation="The available features of the attached RunCam device. If 0 then the RunCam device will be queried for the features it supports, otherwise this setting is used." user="Advanced">
        <field name="Bitmask">0:Power Button,1:WiFi Button,2:Change Mode,3:5-Key OSD,4:Settings Access,5:DisplayPort,6:Start Recording,7:Stop Recording</field>
      </param>
      <param humanName="RunCam boot delay before allowing updates" name="CAM_RC_BT_DELAY" documentation="Time it takes for the RunCam to become fully ready in ms. If this is too short then commands can get out of sync." user="Advanced">
</param>
      <param humanName="RunCam button delay before allowing further button presses" name="CAM_RC_BTN_DELAY" documentation="Time it takes for the a RunCam button press to be actived in ms. If this is too short then commands can get out of sync." user="Advanced">
</param>
      <param humanName="RunCam mode delay before allowing further button presses" name="CAM_RC_MDE_DELAY" documentation="Time it takes for the a RunCam mode button press to be actived in ms. If a mode change first requires a video recording change then double this value is used. If this is too short then commands can get out of sync." user="Advanced">
</param>
      <param humanName="RunCam control option" name="CAM_RC_CONTROL" documentation="Specifies the allowed actions required to enter the OSD menu" user="Advanced">
        <field name="Bitmask">0:Stick yaw right,1:Stick roll right,2:3-position switch,3:2-position switch,4:Autorecording enabled</field>
      </param>
    </parameters>
    <parameters name="CAN_">
      <param humanName="Loglevel" name="CAN_LOGLEVEL" documentation="Loglevel for recording initialisation and debug information from CAN Interface" user="Advanced">
        <field name="Range">0 4</field>
        <values>
          <value code="0">Log None</value>
          <value code="1">Log Error</value>
          <value code="2">Log Warning and below</value>
          <value code="3">Log Info and below</value>
          <value code="4">Log Everything</value>
        </values>
      </param>
    </parameters>
    <parameters name="CAN_D1_">
      <param humanName="Enable use of specific protocol over virtual driver" name="CAN_D1_PROTOCOL" documentation="Enabling this option starts selected protocol that will use this virtual driver" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">DroneCAN</value>
          <value code="3">ToshibaCAN</value>
          <value code="4">PiccoloCAN</value>
          <value code="5">CANTester</value>
          <value code="6">EFI_NWPMU</value>
          <value code="7">USD1</value>
          <value code="8">KDECAN</value>
          <value code="10">Scripting</value>
          <value code="11">Benewake</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="CAN_D1_KDE_">
      <param humanName="Number of motor poles" name="CAN_D1_KDE_NPOLE" documentation="Sets the number of motor poles to calculate the correct RPM value">
</param>
    </parameters>
    <parameters name="CAN_D1_PC_">
      <param humanName="ESC channels" name="CAN_D1_PC_ESC_BM" documentation="Bitmask defining which ESC (motor) channels are to be transmitted over Piccolo CAN" user="Advanced">
        <field name="Bitmask">0: ESC 1, 1: ESC 2, 2: ESC 3, 3: ESC 4, 4: ESC 5, 5: ESC 6, 6: ESC 7, 7: ESC 8, 8: ESC 9, 9: ESC 10, 10: ESC 11, 11: ESC 12, 12: ESC 13, 13: ESC 14, 14: ESC 15, 15: ESC 16</field>
      </param>
      <param humanName="ESC output rate" name="CAN_D1_PC_ESC_RT" documentation="Output rate of ESC command messages" user="Advanced">
        <field name="Range">1 500</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Servo channels" name="CAN_D1_PC_SRV_BM" documentation="Bitmask defining which servo channels are to be transmitted over Piccolo CAN" user="Advanced">
        <field name="Bitmask">0: Servo 1, 1: Servo 2, 2: Servo 3, 3: Servo 4, 4: Servo 5, 5: Servo 6, 6: Servo 7, 7: Servo 8, 8: Servo 9, 9: Servo 10, 10: Servo 11, 11: Servo 12, 12: Servo 13, 13: Servo 14, 14: Servo 15, 15: Servo 16</field>
      </param>
      <param humanName="Servo command output rate" name="CAN_D1_PC_SRV_RT" documentation="Output rate of servo command messages" user="Advanced">
        <field name="Range">1 500</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="CAN_D1_TST_">
      <param humanName="CAN Test Index" name="CAN_D1_TST_ID" documentation="Selects the Index of Test that needs to be run recursively, this value gets reset to 0 at boot." user="Advanced">
        <field name="Range">0 4</field>
        <values>
          <value code="0">TEST_NONE</value>
          <value code="1">TEST_LOOPBACK</value>
          <value code="2">TEST_BUSOFF_RECOVERY</value>
          <value code="3">TEST_UAVCAN_DNA</value>
          <value code="4">TEST_TOSHIBA_CAN</value>
          <value code="5">TEST_KDE_CAN</value>
          <value code="6">TEST_UAVCAN_ESC</value>
        </values>
      </param>
      <param humanName="CANTester LoopRate" name="CAN_D1_TST_LPR8" documentation="Selects the Looprate of Test methods" user="Advanced">
        <field name="Units">us</field>
        <field name="UnitText">microseconds</field>
      </param>
    </parameters>
    <parameters name="CAN_D1_UC_">
      <param humanName="UAVCAN node that is used for this network" name="CAN_D1_UC_NODE" documentation="UAVCAN node should be set implicitly" user="Advanced">
        <field name="Range">1 250</field>
      </param>
      <param humanName="Output channels to be transmitted as servo over UAVCAN" name="CAN_D1_UC_SRV_BM" documentation="Bitmask with one set for channel to be transmitted as a servo command over UAVCAN" user="Advanced">
        <field name="Bitmask">0: Servo 1, 1: Servo 2, 2: Servo 3, 3: Servo 4, 4: Servo 5, 5: Servo 6, 6: Servo 7, 7: Servo 8, 8: Servo 9, 9: Servo 10, 10: Servo 11, 11: Servo 12, 12: Servo 13, 13: Servo 14, 14: Servo 15</field>
      </param>
      <param humanName="Output channels to be transmitted as ESC over UAVCAN" name="CAN_D1_UC_ESC_BM" documentation="Bitmask with one set for channel to be transmitted as a ESC command over UAVCAN" user="Advanced">
        <field name="Bitmask">0: ESC 1, 1: ESC 2, 2: ESC 3, 3: ESC 4, 4: ESC 5, 5: ESC 6, 6: ESC 7, 7: ESC 8, 8: ESC 9, 9: ESC 10, 10: ESC 11, 11: ESC 12, 12: ESC 13, 13: ESC 14, 14: ESC 15, 15: ESC 16</field>
      </param>
      <param humanName="Servo output rate" name="CAN_D1_UC_SRV_RT" documentation="Maximum transmit rate for servo outputs" user="Advanced">
        <field name="Range">1 200</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="UAVCAN options" name="CAN_D1_UC_OPTION" documentation="Option flags" user="Advanced">
        <field name="Bitmask">0:ClearDNADatabase,1:IgnoreDNANodeConflicts</field>
      </param>
      <param humanName="Notify State rate" name="CAN_D1_UC_NTF_RT" documentation="Maximum transmit rate for Notify State Message" user="Advanced">
        <field name="Range">1 200</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ESC Output channels offset" name="CAN_D1_UC_ESC_OF" documentation="Offset for ESC numbering in DroneCAN ESC RawCommand messages. This allows for more efficient packing of ESC command messages. If your ESCs are on servo functions 5 to 8 and you set this parameter to 4 then the ESC RawCommand will be sent with the first 4 slots filled. This can be used for more efficint usage of CAN bandwidth" user="Advanced">
        <field name="Range">0 18</field>
      </param>
      <param humanName="CAN pool size" name="CAN_D1_UC_POOL" documentation="Amount of memory in bytes to allocate for the DroneCAN memory pool. More memory is needed for higher CAN bus loads" user="Advanced">
        <field name="Range">1024 16384</field>
      </param>
    </parameters>
    <parameters name="CAN_D2_">
      <param humanName="Enable use of specific protocol over virtual driver" name="CAN_D2_PROTOCOL" documentation="Enabling this option starts selected protocol that will use this virtual driver" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">DroneCAN</value>
          <value code="3">ToshibaCAN</value>
          <value code="4">PiccoloCAN</value>
          <value code="5">CANTester</value>
          <value code="6">EFI_NWPMU</value>
          <value code="7">USD1</value>
          <value code="8">KDECAN</value>
          <value code="10">Scripting</value>
          <value code="11">Benewake</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="CAN_D2_KDE_">
      <param humanName="Number of motor poles" name="CAN_D2_KDE_NPOLE" documentation="Sets the number of motor poles to calculate the correct RPM value">
</param>
    </parameters>
    <parameters name="CAN_D2_PC_">
      <param humanName="ESC channels" name="CAN_D2_PC_ESC_BM" documentation="Bitmask defining which ESC (motor) channels are to be transmitted over Piccolo CAN" user="Advanced">
        <field name="Bitmask">0: ESC 1, 1: ESC 2, 2: ESC 3, 3: ESC 4, 4: ESC 5, 5: ESC 6, 6: ESC 7, 7: ESC 8, 8: ESC 9, 9: ESC 10, 10: ESC 11, 11: ESC 12, 12: ESC 13, 13: ESC 14, 14: ESC 15, 15: ESC 16</field>
      </param>
      <param humanName="ESC output rate" name="CAN_D2_PC_ESC_RT" documentation="Output rate of ESC command messages" user="Advanced">
        <field name="Range">1 500</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Servo channels" name="CAN_D2_PC_SRV_BM" documentation="Bitmask defining which servo channels are to be transmitted over Piccolo CAN" user="Advanced">
        <field name="Bitmask">0: Servo 1, 1: Servo 2, 2: Servo 3, 3: Servo 4, 4: Servo 5, 5: Servo 6, 6: Servo 7, 7: Servo 8, 8: Servo 9, 9: Servo 10, 10: Servo 11, 11: Servo 12, 12: Servo 13, 13: Servo 14, 14: Servo 15, 15: Servo 16</field>
      </param>
      <param humanName="Servo command output rate" name="CAN_D2_PC_SRV_RT" documentation="Output rate of servo command messages" user="Advanced">
        <field name="Range">1 500</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="CAN_D2_TST_">
      <param humanName="CAN Test Index" name="CAN_D2_TST_ID" documentation="Selects the Index of Test that needs to be run recursively, this value gets reset to 0 at boot." user="Advanced">
        <field name="Range">0 4</field>
        <values>
          <value code="0">TEST_NONE</value>
          <value code="1">TEST_LOOPBACK</value>
          <value code="2">TEST_BUSOFF_RECOVERY</value>
          <value code="3">TEST_UAVCAN_DNA</value>
          <value code="4">TEST_TOSHIBA_CAN</value>
          <value code="5">TEST_KDE_CAN</value>
          <value code="6">TEST_UAVCAN_ESC</value>
        </values>
      </param>
      <param humanName="CANTester LoopRate" name="CAN_D2_TST_LPR8" documentation="Selects the Looprate of Test methods" user="Advanced">
        <field name="Units">us</field>
        <field name="UnitText">microseconds</field>
      </param>
    </parameters>
    <parameters name="CAN_D2_UC_">
      <param humanName="UAVCAN node that is used for this network" name="CAN_D2_UC_NODE" documentation="UAVCAN node should be set implicitly" user="Advanced">
        <field name="Range">1 250</field>
      </param>
      <param humanName="Output channels to be transmitted as servo over UAVCAN" name="CAN_D2_UC_SRV_BM" documentation="Bitmask with one set for channel to be transmitted as a servo command over UAVCAN" user="Advanced">
        <field name="Bitmask">0: Servo 1, 1: Servo 2, 2: Servo 3, 3: Servo 4, 4: Servo 5, 5: Servo 6, 6: Servo 7, 7: Servo 8, 8: Servo 9, 9: Servo 10, 10: Servo 11, 11: Servo 12, 12: Servo 13, 13: Servo 14, 14: Servo 15</field>
      </param>
      <param humanName="Output channels to be transmitted as ESC over UAVCAN" name="CAN_D2_UC_ESC_BM" documentation="Bitmask with one set for channel to be transmitted as a ESC command over UAVCAN" user="Advanced">
        <field name="Bitmask">0: ESC 1, 1: ESC 2, 2: ESC 3, 3: ESC 4, 4: ESC 5, 5: ESC 6, 6: ESC 7, 7: ESC 8, 8: ESC 9, 9: ESC 10, 10: ESC 11, 11: ESC 12, 12: ESC 13, 13: ESC 14, 14: ESC 15, 15: ESC 16</field>
      </param>
      <param humanName="Servo output rate" name="CAN_D2_UC_SRV_RT" documentation="Maximum transmit rate for servo outputs" user="Advanced">
        <field name="Range">1 200</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="UAVCAN options" name="CAN_D2_UC_OPTION" documentation="Option flags" user="Advanced">
        <field name="Bitmask">0:ClearDNADatabase,1:IgnoreDNANodeConflicts</field>
      </param>
      <param humanName="Notify State rate" name="CAN_D2_UC_NTF_RT" documentation="Maximum transmit rate for Notify State Message" user="Advanced">
        <field name="Range">1 200</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ESC Output channels offset" name="CAN_D2_UC_ESC_OF" documentation="Offset for ESC numbering in DroneCAN ESC RawCommand messages. This allows for more efficient packing of ESC command messages. If your ESCs are on servo functions 5 to 8 and you set this parameter to 4 then the ESC RawCommand will be sent with the first 4 slots filled. This can be used for more efficint usage of CAN bandwidth" user="Advanced">
        <field name="Range">0 18</field>
      </param>
      <param humanName="CAN pool size" name="CAN_D2_UC_POOL" documentation="Amount of memory in bytes to allocate for the DroneCAN memory pool. More memory is needed for higher CAN bus loads" user="Advanced">
        <field name="Range">1024 16384</field>
      </param>
    </parameters>
    <parameters name="CAN_D3_">
      <param humanName="Enable use of specific protocol over virtual driver" name="CAN_D3_PROTOCOL" documentation="Enabling this option starts selected protocol that will use this virtual driver" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">DroneCAN</value>
          <value code="3">ToshibaCAN</value>
          <value code="4">PiccoloCAN</value>
          <value code="5">CANTester</value>
          <value code="6">EFI_NWPMU</value>
          <value code="7">USD1</value>
          <value code="8">KDECAN</value>
          <value code="10">Scripting</value>
          <value code="11">Benewake</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="CAN_D3_KDE_">
      <param humanName="Number of motor poles" name="CAN_D3_KDE_NPOLE" documentation="Sets the number of motor poles to calculate the correct RPM value">
</param>
    </parameters>
    <parameters name="CAN_D3_PC_">
      <param humanName="ESC channels" name="CAN_D3_PC_ESC_BM" documentation="Bitmask defining which ESC (motor) channels are to be transmitted over Piccolo CAN" user="Advanced">
        <field name="Bitmask">0: ESC 1, 1: ESC 2, 2: ESC 3, 3: ESC 4, 4: ESC 5, 5: ESC 6, 6: ESC 7, 7: ESC 8, 8: ESC 9, 9: ESC 10, 10: ESC 11, 11: ESC 12, 12: ESC 13, 13: ESC 14, 14: ESC 15, 15: ESC 16</field>
      </param>
      <param humanName="ESC output rate" name="CAN_D3_PC_ESC_RT" documentation="Output rate of ESC command messages" user="Advanced">
        <field name="Range">1 500</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Servo channels" name="CAN_D3_PC_SRV_BM" documentation="Bitmask defining which servo channels are to be transmitted over Piccolo CAN" user="Advanced">
        <field name="Bitmask">0: Servo 1, 1: Servo 2, 2: Servo 3, 3: Servo 4, 4: Servo 5, 5: Servo 6, 6: Servo 7, 7: Servo 8, 8: Servo 9, 9: Servo 10, 10: Servo 11, 11: Servo 12, 12: Servo 13, 13: Servo 14, 14: Servo 15, 15: Servo 16</field>
      </param>
      <param humanName="Servo command output rate" name="CAN_D3_PC_SRV_RT" documentation="Output rate of servo command messages" user="Advanced">
        <field name="Range">1 500</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="CAN_D3_TST_">
      <param humanName="CAN Test Index" name="CAN_D3_TST_ID" documentation="Selects the Index of Test that needs to be run recursively, this value gets reset to 0 at boot." user="Advanced">
        <field name="Range">0 4</field>
        <values>
          <value code="0">TEST_NONE</value>
          <value code="1">TEST_LOOPBACK</value>
          <value code="2">TEST_BUSOFF_RECOVERY</value>
          <value code="3">TEST_UAVCAN_DNA</value>
          <value code="4">TEST_TOSHIBA_CAN</value>
          <value code="5">TEST_KDE_CAN</value>
          <value code="6">TEST_UAVCAN_ESC</value>
        </values>
      </param>
      <param humanName="CANTester LoopRate" name="CAN_D3_TST_LPR8" documentation="Selects the Looprate of Test methods" user="Advanced">
        <field name="Units">us</field>
        <field name="UnitText">microseconds</field>
      </param>
    </parameters>
    <parameters name="CAN_D3_UC_">
      <param humanName="UAVCAN node that is used for this network" name="CAN_D3_UC_NODE" documentation="UAVCAN node should be set implicitly" user="Advanced">
        <field name="Range">1 250</field>
      </param>
      <param humanName="Output channels to be transmitted as servo over UAVCAN" name="CAN_D3_UC_SRV_BM" documentation="Bitmask with one set for channel to be transmitted as a servo command over UAVCAN" user="Advanced">
        <field name="Bitmask">0: Servo 1, 1: Servo 2, 2: Servo 3, 3: Servo 4, 4: Servo 5, 5: Servo 6, 6: Servo 7, 7: Servo 8, 8: Servo 9, 9: Servo 10, 10: Servo 11, 11: Servo 12, 12: Servo 13, 13: Servo 14, 14: Servo 15</field>
      </param>
      <param humanName="Output channels to be transmitted as ESC over UAVCAN" name="CAN_D3_UC_ESC_BM" documentation="Bitmask with one set for channel to be transmitted as a ESC command over UAVCAN" user="Advanced">
        <field name="Bitmask">0: ESC 1, 1: ESC 2, 2: ESC 3, 3: ESC 4, 4: ESC 5, 5: ESC 6, 6: ESC 7, 7: ESC 8, 8: ESC 9, 9: ESC 10, 10: ESC 11, 11: ESC 12, 12: ESC 13, 13: ESC 14, 14: ESC 15, 15: ESC 16</field>
      </param>
      <param humanName="Servo output rate" name="CAN_D3_UC_SRV_RT" documentation="Maximum transmit rate for servo outputs" user="Advanced">
        <field name="Range">1 200</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="UAVCAN options" name="CAN_D3_UC_OPTION" documentation="Option flags" user="Advanced">
        <field name="Bitmask">0:ClearDNADatabase,1:IgnoreDNANodeConflicts</field>
      </param>
      <param humanName="Notify State rate" name="CAN_D3_UC_NTF_RT" documentation="Maximum transmit rate for Notify State Message" user="Advanced">
        <field name="Range">1 200</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ESC Output channels offset" name="CAN_D3_UC_ESC_OF" documentation="Offset for ESC numbering in DroneCAN ESC RawCommand messages. This allows for more efficient packing of ESC command messages. If your ESCs are on servo functions 5 to 8 and you set this parameter to 4 then the ESC RawCommand will be sent with the first 4 slots filled. This can be used for more efficint usage of CAN bandwidth" user="Advanced">
        <field name="Range">0 18</field>
      </param>
      <param humanName="CAN pool size" name="CAN_D3_UC_POOL" documentation="Amount of memory in bytes to allocate for the DroneCAN memory pool. More memory is needed for higher CAN bus loads" user="Advanced">
        <field name="Range">1024 16384</field>
      </param>
    </parameters>
    <parameters name="CAN_P1_">
      <param humanName="Index of virtual driver to be used with physical CAN interface" name="CAN_P1_DRIVER" documentation="Enabling this option enables use of CAN buses." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">First driver</value>
          <value code="2">Second driver</value>
          <value code="3">Third driver</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Bitrate of CAN interface" name="CAN_P1_BITRATE" documentation="Bit rate can be set up to from 10000 to 1000000" user="Advanced">
        <field name="Range">10000 1000000</field>
      </param>
    </parameters>
    <parameters name="CAN_P2_">
      <param humanName="Index of virtual driver to be used with physical CAN interface" name="CAN_P2_DRIVER" documentation="Enabling this option enables use of CAN buses." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">First driver</value>
          <value code="2">Second driver</value>
          <value code="3">Third driver</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Bitrate of CAN interface" name="CAN_P2_BITRATE" documentation="Bit rate can be set up to from 10000 to 1000000" user="Advanced">
        <field name="Range">10000 1000000</field>
      </param>
    </parameters>
    <parameters name="CAN_P3_">
      <param humanName="Index of virtual driver to be used with physical CAN interface" name="CAN_P3_DRIVER" documentation="Enabling this option enables use of CAN buses." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">First driver</value>
          <value code="2">Second driver</value>
          <value code="3">Third driver</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Bitrate of CAN interface" name="CAN_P3_BITRATE" documentation="Bit rate can be set up to from 10000 to 1000000" user="Advanced">
        <field name="Range">10000 1000000</field>
      </param>
    </parameters>
    <parameters name="CAN_SLCAN_">
      <param humanName="SLCAN Route" name="CAN_SLCAN_CPORT" documentation="CAN Interface ID to be routed to SLCAN, 0 means no routing" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">First interface</value>
          <value code="2">Second interface</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="SLCAN Serial Port" name="CAN_SLCAN_SERNUM" documentation="Serial Port ID to be used for temporary SLCAN iface, -1 means no temporary serial. This parameter is automatically reset on reboot or on timeout. See CAN_SLCAN_TIMOUT for timeout details" user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="0">Serial0</value>
          <value code="1">Serial1</value>
          <value code="2">Serial2</value>
          <value code="3">Serial3</value>
          <value code="4">Serial4</value>
          <value code="5">Serial5</value>
          <value code="6">Serial6</value>
        </values>
      </param>
      <param humanName="SLCAN Timeout" name="CAN_SLCAN_TIMOUT" documentation="Duration of inactivity after which SLCAN is switched back to original driver in seconds." user="Standard">
        <field name="Range">0 127</field>
      </param>
      <param humanName="SLCAN Start Delay" name="CAN_SLCAN_SDELAY" documentation="Duration after which slcan starts after setting SERNUM in seconds." user="Standard">
        <field name="Range">0 127</field>
      </param>
    </parameters>
    <parameters name="CHUTE_">
      <param humanName="Parachute release enabled or disabled" name="CHUTE_ENABLED" documentation="Parachute release enabled or disabled" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Parachute release mechanism type (relay or servo)" name="CHUTE_TYPE" documentation="Parachute release mechanism type (relay or servo)" user="Standard">
        <values>
          <value code="0">First Relay</value>
          <value code="1">Second Relay</value>
          <value code="2">Third Relay</value>
          <value code="3">Fourth Relay</value>
          <value code="10">Servo</value>
        </values>
      </param>
      <param humanName="Parachute Servo ON PWM value" name="CHUTE_SERVO_ON" documentation="Parachute Servo PWM value in microseconds when parachute is released" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo OFF PWM value" name="CHUTE_SERVO_OFF" documentation="Parachute Servo PWM value in microseconds when parachute is not released" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Parachute min altitude in meters above home" name="CHUTE_ALT_MIN" documentation="Parachute min altitude above home.  Parachute will not be released below this altitude.  0 to disable alt check." user="Standard">
        <field name="Range">0 32000</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Parachute release delay" name="CHUTE_DELAY_MS" documentation="Delay in millseconds between motor stop and chute release" user="Standard">
        <field name="Range">0 5000</field>
        <field name="Increment">1</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="Critical sink speed rate in m/s to trigger emergency parachute" name="CHUTE_CRT_SINK" documentation="Release parachute when critical sink rate is reached" user="Standard">
        <field name="Range">0 15</field>
        <field name="Increment">1</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Parachute options" name="CHUTE_OPTIONS" documentation="Optional behaviour for parachute" user="Standard">
        <field name="Bitmask">0:hold open forever after release</field>
      </param>
    </parameters>
    <parameters name="CIRCLE_">
      <param humanName="Circle Radius" name="CIRCLE_RADIUS" documentation="Defines the radius of the circle the vehicle will fly when in Circle flight mode" user="Standard">
        <field name="Range">0 200000</field>
        <field name="Increment">100</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Circle rate" name="CIRCLE_RATE" documentation="Circle mode's turn rate in deg/sec.  Positive to turn clockwise, negative for counter clockwise" user="Standard">
        <field name="Range">-90 90</field>
        <field name="Increment">1</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
      <param humanName="Circle options" name="CIRCLE_OPTIONS" documentation="0:Enable or disable using the pitch/roll stick control circle mode's radius and rate" user="Standard">
        <field name="Bitmask">0:manual control, 1:face direction of travel, 2:Start at center rather than on perimeter</field>
      </param>
    </parameters>
    <parameters name="COMPASS_">
      <param humanName="Compass offsets in milligauss on the X axis" name="COMPASS_OFS_X" documentation="Offset to be added to the compass x-axis values to compensate for metal in the frame" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Compass offsets in milligauss on the Y axis" name="COMPASS_OFS_Y" documentation="Offset to be added to the compass y-axis values to compensate for metal in the frame" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Compass offsets in milligauss on the Z axis" name="COMPASS_OFS_Z" documentation="Offset to be added to the compass z-axis values to compensate for metal in the frame" user="Advanced">
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Compass declination" name="COMPASS_DEC" documentation="An angle to compensate between the true north and magnetic north" user="Standard">
        <field name="Range">-3.142 3.142</field>
        <field name="Increment">0.01</field>
        <field name="Units">rad</field>
        <field name="UnitText">radians</field>
      </param>
      <param humanName="Learn compass offsets automatically" name="COMPASS_LEARN" documentation="Enable or disable the automatic learning of compass offsets. You can enable learning either using a compass-only method that is suitable only for fixed wing aircraft or using the offsets learnt by the active EKF state estimator. If this option is enabled then the learnt offsets are saved when you disarm the vehicle. If InFlight learning is enabled then the compass with automatically start learning once a flight starts (must be armed). While InFlight learning is running you cannot use position control modes." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Internal-Learning</value>
          <value code="2">EKF-Learning</value>
          <value code="3">InFlight-Learning</value>
        </values>
      </param>
      <param humanName="Use compass for yaw" name="COMPASS_USE" documentation="Enable or disable the use of the compass (instead of the GPS) for determining heading" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Auto Declination" name="COMPASS_AUTODEC" documentation="Enable or disable the automatic calculation of the declination based on gps location" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Motor interference compensation type" name="COMPASS_MOTCT" documentation="Set motor interference compensation type to disabled, throttle or current.  Do not change manually." user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <values>
          <value code="0">Disabled</value>
          <value code="1">Use Throttle</value>
          <value code="2">Use Current</value>
        </values>
      </param>
      <param humanName="Motor interference compensation for body frame X axis" name="COMPASS_MOT_X" documentation="Multiplied by the current throttle and added to the compass's x-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Motor interference compensation for body frame Y axis" name="COMPASS_MOT_Y" documentation="Multiplied by the current throttle and added to the compass's y-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Motor interference compensation for body frame Z axis" name="COMPASS_MOT_Z" documentation="Multiplied by the current throttle and added to the compass's z-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced">
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Compass orientation" name="COMPASS_ORIENT" documentation="The orientation of the first external compass relative to the vehicle frame. This value will be ignored unless this compass is set as an external compass. When set correctly in the northern hemisphere, pointing the nose and right side down should increase the MagX and MagY values respectively. Rolling the vehicle upside down should decrease the MagZ value. For southern hemisphere, switch increase and decrease. NOTE: For internal compasses, AHRS_ORIENT is used. The label for each option is specified in the order of rotations for that orientation." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Yaw45</value>
          <value code="2">Yaw90</value>
          <value code="3">Yaw135</value>
          <value code="4">Yaw180</value>
          <value code="5">Yaw225</value>
          <value code="6">Yaw270</value>
          <value code="7">Yaw315</value>
          <value code="8">Roll180</value>
          <value code="9">Yaw45Roll180</value>
          <value code="10">Yaw90Roll180</value>
          <value code="11">Yaw135Roll180</value>
          <value code="12">Pitch180</value>
          <value code="13">Yaw225Roll180</value>
          <value code="14">Yaw270Roll180</value>
          <value code="15">Yaw315Roll180</value>
          <value code="16">Roll90</value>
          <value code="17">Yaw45Roll90</value>
          <value code="18">Yaw90Roll90</value>
          <value code="19">Yaw135Roll90</value>
          <value code="20">Roll270</value>
          <value code="21">Yaw45Roll270</value>
          <value code="22">Yaw90Roll270</value>
          <value code="23">Yaw135Roll270</value>
          <value code="24">Pitch90</value>
          <value code="25">Pitch270</value>
          <value code="26">Yaw90Pitch180</value>
          <value code="27">Yaw270Pitch180</value>
          <value code="28">Pitch90Roll90</value>
          <value code="29">Pitch90Roll180</value>
          <value code="30">Pitch90Roll270</value>
          <value code="31">Pitch180Roll90</value>
          <value code="32">Pitch180Roll270</value>
          <value code="33">Pitch270Roll90</value>
          <value code="34">Pitch270Roll180</value>
          <value code="35">Pitch270Roll270</value>
          <value code="36">Yaw90Pitch180Roll90</value>
          <value code="37">Yaw270Roll90</value>
          <value code="38">Yaw293Pitch68Roll180</value>
          <value code="39">Pitch315</value>
          <value code="40">Pitch315Roll90</value>
          <value code="42">Roll45</value>
          <value code="43">Roll315</value>
          <value code="100">Custom</value>
        </values>
      </param>
      <param humanName="Compass is attached via an external cable" name="COMPASS_EXTERNAL" documentation="Configure compass so it is attached externally. This is auto-detected on most boards. Set to 1 if the compass is externally connected. When externally connected the COMPASS_ORIENT option operates independently of the AHRS_ORIENTATION board orientation option. If set to 0 or 1 then auto-detection by bus connection can override the value. If set to 2 then auto-detection will be disabled." user="Advanced">
        <values>
          <value code="0">Internal</value>
          <value code="1">External</value>
          <value code="2">ForcedExternal</value>
        </values>
      </param>
      <param humanName="Compass2 offsets in milligauss on the X axis" name="COMPASS_OFS2_X" documentation="Offset to be added to compass2's x-axis values to compensate for metal in the frame" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Compass2 offsets in milligauss on the Y axis" name="COMPASS_OFS2_Y" documentation="Offset to be added to compass2's y-axis values to compensate for metal in the frame" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Compass2 offsets in milligauss on the Z axis" name="COMPASS_OFS2_Z" documentation="Offset to be added to compass2's z-axis values to compensate for metal in the frame" user="Advanced">
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Motor interference compensation to compass2 for body frame X axis" name="COMPASS_MOT2_X" documentation="Multiplied by the current throttle and added to compass2's x-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Motor interference compensation to compass2 for body frame Y axis" name="COMPASS_MOT2_Y" documentation="Multiplied by the current throttle and added to compass2's y-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Motor interference compensation to compass2 for body frame Z axis" name="COMPASS_MOT2_Z" documentation="Multiplied by the current throttle and added to compass2's z-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced">
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Compass3 offsets in milligauss on the X axis" name="COMPASS_OFS3_X" documentation="Offset to be added to compass3's x-axis values to compensate for metal in the frame" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Compass3 offsets in milligauss on the Y axis" name="COMPASS_OFS3_Y" documentation="Offset to be added to compass3's y-axis values to compensate for metal in the frame" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Compass3 offsets in milligauss on the Z axis" name="COMPASS_OFS3_Z" documentation="Offset to be added to compass3's z-axis values to compensate for metal in the frame" user="Advanced">
        <field name="Range">-400 400</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Motor interference compensation to compass3 for body frame X axis" name="COMPASS_MOT3_X" documentation="Multiplied by the current throttle and added to compass3's x-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Motor interference compensation to compass3 for body frame Y axis" name="COMPASS_MOT3_Y" documentation="Multiplied by the current throttle and added to compass3's y-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Motor interference compensation to compass3 for body frame Z axis" name="COMPASS_MOT3_Z" documentation="Multiplied by the current throttle and added to compass3's z-axis values to compensate for motor interference (Offset per Amp or at Full Throttle)" user="Advanced">
        <field name="Range">-1000 1000</field>
        <field name="Increment">1</field>
        <field name="Units">mGauss/A</field>
        <field name="UnitText">milligauss per ampere</field>
      </param>
      <param humanName="Compass device id" name="COMPASS_DEV_ID" documentation="Compass device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Compass2 device id" name="COMPASS_DEV_ID2" documentation="Second compass's device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Compass3 device id" name="COMPASS_DEV_ID3" documentation="Third compass's device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Compass2 used for yaw" name="COMPASS_USE2" documentation="Enable or disable the secondary compass for determining heading." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Compass2 orientation" name="COMPASS_ORIENT2" documentation="The orientation of a second external compass relative to the vehicle frame. This value will be ignored unless this compass is set as an external compass. When set correctly in the northern hemisphere, pointing the nose and right side down should increase the MagX and MagY values respectively. Rolling the vehicle upside down should decrease the MagZ value. For southern hemisphere, switch increase and decrease. NOTE: For internal compasses, AHRS_ORIENT is used." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Yaw45</value>
          <value code="2">Yaw90</value>
          <value code="3">Yaw135</value>
          <value code="4">Yaw180</value>
          <value code="5">Yaw225</value>
          <value code="6">Yaw270</value>
          <value code="7">Yaw315</value>
          <value code="8">Roll180</value>
          <value code="9">Roll180Yaw45</value>
          <value code="10">Roll180Yaw90</value>
          <value code="11">Roll180Yaw135</value>
          <value code="12">Pitch180</value>
          <value code="13">Roll180Yaw225</value>
          <value code="14">Roll180Yaw270</value>
          <value code="15">Roll180Yaw315</value>
          <value code="16">Roll90</value>
          <value code="17">Roll90Yaw45</value>
          <value code="18">Roll90Yaw90</value>
          <value code="19">Roll90Yaw135</value>
          <value code="20">Roll270</value>
          <value code="21">Roll270Yaw45</value>
          <value code="22">Roll270Yaw90</value>
          <value code="23">Roll270Yaw135</value>
          <value code="24">Pitch90</value>
          <value code="25">Pitch270</value>
          <value code="26">Pitch180Yaw90</value>
          <value code="27">Pitch180Yaw270</value>
          <value code="28">Roll90Pitch90</value>
          <value code="29">Roll180Pitch90</value>
          <value code="30">Roll270Pitch90</value>
          <value code="31">Roll90Pitch180</value>
          <value code="32">Roll270Pitch180</value>
          <value code="33">Roll90Pitch270</value>
          <value code="34">Roll180Pitch270</value>
          <value code="35">Roll270Pitch270</value>
          <value code="36">Roll90Pitch180Yaw90</value>
          <value code="37">Roll90Yaw270</value>
          <value code="38">Yaw293Pitch68Roll180</value>
          <value code="39">Pitch315</value>
          <value code="40">Roll90Pitch315</value>
          <value code="42">Roll45</value>
          <value code="43">Roll315</value>
          <value code="100">Custom</value>
        </values>
      </param>
      <param humanName="Compass2 is attached via an external cable" name="COMPASS_EXTERN2" documentation="Configure second compass so it is attached externally. This is auto-detected on most boards. If set to 0 or 1 then auto-detection by bus connection can override the value. If set to 2 then auto-detection will be disabled." user="Advanced">
        <values>
          <value code="0">Internal</value>
          <value code="1">External</value>
          <value code="2">ForcedExternal</value>
        </values>
      </param>
      <param humanName="Compass3 used for yaw" name="COMPASS_USE3" documentation="Enable or disable the tertiary compass for determining heading." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Compass3 orientation" name="COMPASS_ORIENT3" documentation="The orientation of a third external compass relative to the vehicle frame. This value will be ignored unless this compass is set as an external compass. When set correctly in the northern hemisphere, pointing the nose and right side down should increase the MagX and MagY values respectively. Rolling the vehicle upside down should decrease the MagZ value. For southern hemisphere, switch increase and decrease. NOTE: For internal compasses, AHRS_ORIENT is used." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Yaw45</value>
          <value code="2">Yaw90</value>
          <value code="3">Yaw135</value>
          <value code="4">Yaw180</value>
          <value code="5">Yaw225</value>
          <value code="6">Yaw270</value>
          <value code="7">Yaw315</value>
          <value code="8">Roll180</value>
          <value code="9">Roll180Yaw45</value>
          <value code="10">Roll180Yaw90</value>
          <value code="11">Roll180Yaw135</value>
          <value code="12">Pitch180</value>
          <value code="13">Roll180Yaw225</value>
          <value code="14">Roll180Yaw270</value>
          <value code="15">Roll180Yaw315</value>
          <value code="16">Roll90</value>
          <value code="17">Roll90Yaw45</value>
          <value code="18">Roll90Yaw90</value>
          <value code="19">Roll90Yaw135</value>
          <value code="20">Roll270</value>
          <value code="21">Roll270Yaw45</value>
          <value code="22">Roll270Yaw90</value>
          <value code="23">Roll270Yaw135</value>
          <value code="24">Pitch90</value>
          <value code="25">Pitch270</value>
          <value code="26">Pitch180Yaw90</value>
          <value code="27">Pitch180Yaw270</value>
          <value code="28">Roll90Pitch90</value>
          <value code="29">Roll180Pitch90</value>
          <value code="30">Roll270Pitch90</value>
          <value code="31">Roll90Pitch180</value>
          <value code="32">Roll270Pitch180</value>
          <value code="33">Roll90Pitch270</value>
          <value code="34">Roll180Pitch270</value>
          <value code="35">Roll270Pitch270</value>
          <value code="36">Roll90Pitch180Yaw90</value>
          <value code="37">Roll90Yaw270</value>
          <value code="38">Yaw293Pitch68Roll180</value>
          <value code="39">Pitch315</value>
          <value code="40">Roll90Pitch315</value>
          <value code="42">Roll45</value>
          <value code="43">Roll315</value>
          <value code="100">Custom</value>
        </values>
      </param>
      <param humanName="Compass3 is attached via an external cable" name="COMPASS_EXTERN3" documentation="Configure third compass so it is attached externally. This is auto-detected on most boards. If set to 0 or 1 then auto-detection by bus connection can override the value. If set to 2 then auto-detection will be disabled." user="Advanced">
        <values>
          <value code="0">Internal</value>
          <value code="1">External</value>
          <value code="2">ForcedExternal</value>
        </values>
      </param>
      <param humanName="Compass soft-iron diagonal X component" name="COMPASS_DIA_X" documentation="DIA_X in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass soft-iron diagonal Y component" name="COMPASS_DIA_Y" documentation="DIA_Y in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass soft-iron diagonal Z component" name="COMPASS_DIA_Z" documentation="DIA_Z in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced">
</param>
      <param humanName="Compass soft-iron off-diagonal X component" name="COMPASS_ODI_X" documentation="ODI_X in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass soft-iron off-diagonal Y component" name="COMPASS_ODI_Y" documentation="ODI_Y in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass soft-iron off-diagonal Z component" name="COMPASS_ODI_Z" documentation="ODI_Z in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced">
</param>
      <param humanName="Compass2 soft-iron diagonal X component" name="COMPASS_DIA2_X" documentation="DIA_X in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass2 soft-iron diagonal Y component" name="COMPASS_DIA2_Y" documentation="DIA_Y in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass2 soft-iron diagonal Z component" name="COMPASS_DIA2_Z" documentation="DIA_Z in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced">
</param>
      <param humanName="Compass2 soft-iron off-diagonal X component" name="COMPASS_ODI2_X" documentation="ODI_X in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass2 soft-iron off-diagonal Y component" name="COMPASS_ODI2_Y" documentation="ODI_Y in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass2 soft-iron off-diagonal Z component" name="COMPASS_ODI2_Z" documentation="ODI_Z in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced">
</param>
      <param humanName="Compass3 soft-iron diagonal X component" name="COMPASS_DIA3_X" documentation="DIA_X in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass3 soft-iron diagonal Y component" name="COMPASS_DIA3_Y" documentation="DIA_Y in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass3 soft-iron diagonal Z component" name="COMPASS_DIA3_Z" documentation="DIA_Z in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced">
</param>
      <param humanName="Compass3 soft-iron off-diagonal X component" name="COMPASS_ODI3_X" documentation="ODI_X in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass3 soft-iron off-diagonal Y component" name="COMPASS_ODI3_Y" documentation="ODI_Y in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Compass3 soft-iron off-diagonal Z component" name="COMPASS_ODI3_Z" documentation="ODI_Z in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]" user="Advanced">
</param>
      <param humanName="Compass calibration fitness" name="COMPASS_CAL_FIT" documentation="This controls the fitness level required for a successful compass calibration. A lower value makes for a stricter fit (less likely to pass). This is the value used for the primary magnetometer. Other magnetometers get double the value." user="Advanced">
        <field name="Range">4 32</field>
        <values>
          <value code="4">Very Strict</value>
          <value code="8">Strict</value>
          <value code="16">Default</value>
          <value code="32">Relaxed</value>
        </values>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Compass maximum offset" name="COMPASS_OFFS_MAX" documentation="This sets the maximum allowed compass offset in calibration and arming checks" user="Advanced">
        <field name="Range">500 3000</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Compass disable driver type mask" name="COMPASS_TYPEMASK" documentation="This is a bitmask of driver types to disable. If a driver type is set in this mask then that driver will not try to find a sensor at startup" user="Advanced">
        <field name="Bitmask">0:HMC5883,1:LSM303D,2:AK8963,3:BMM150,4:LSM9DS1,5:LIS3MDL,6:AK09916,7:IST8310,8:ICM20948,9:MMC3416,11:DroneCAN,12:QMC5883,14:MAG3110,15:IST8308,16:RM3100,17:MSP,18:ExternalAHRS</field>
      </param>
      <param humanName="Range in which sample is accepted" name="COMPASS_FLTR_RNG" documentation="This sets the range around the average value that new samples must be within to be accepted. This can help reduce the impact of noise on sensors that are on long I2C cables. The value is a percentage from the average value. A value of zero disables this filter.">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Automatically check orientation" name="COMPASS_AUTO_ROT" documentation="When enabled this will automatically check the orientation of compasses on successful completion of compass calibration. If set to 2 then external compasses will have their orientation automatically corrected.">
        <values>
          <value code="0">Disabled</value>
          <value code="1">CheckOnly</value>
          <value code="2">CheckAndFix</value>
          <value code="3">use same tolerance to auto rotate 45 deg rotations</value>
        </values>
      </param>
      <param humanName="Compass device id with 1st order priority" name="COMPASS_PRIO1_ID" documentation="Compass device id with 1st order priority, set automatically if 0. Reboot required after change." user="Advanced">
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Compass device id with 2nd order priority" name="COMPASS_PRIO2_ID" documentation="Compass device id with 2nd order priority, set automatically if 0. Reboot required after change." user="Advanced">
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Compass device id with 3rd order priority" name="COMPASS_PRIO3_ID" documentation="Compass device id with 3rd order priority, set automatically if 0. Reboot required after change." user="Advanced">
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Enable Compass" name="COMPASS_ENABLE" documentation="Setting this to Enabled(1) will enable the compass. Setting this to Disabled(0) will disable the compass. Note that this is separate from COMPASS_USE. This will enable the low level senor, and will enable logging of magnetometer data. To use the compass for navigation you must also set COMPASS_USE to 1." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Compass1 scale factor" name="COMPASS_SCALE" documentation="Scaling factor for first compass to compensate for sensor scaling errors. If this is 0 then no scaling is done" user="Standard">
        <field name="Range">0 1.3</field>
      </param>
      <param humanName="Compass2 scale factor" name="COMPASS_SCALE2" documentation="Scaling factor for 2nd compass to compensate for sensor scaling errors. If this is 0 then no scaling is done" user="Standard">
        <field name="Range">0 1.3</field>
      </param>
      <param humanName="Compass3 scale factor" name="COMPASS_SCALE3" documentation="Scaling factor for 3rd compass to compensate for sensor scaling errors. If this is 0 then no scaling is done" user="Standard">
        <field name="Range">0 1.3</field>
      </param>
      <param humanName="Compass options" name="COMPASS_OPTIONS" documentation="This sets options to change the behaviour of the compass" user="Advanced">
        <field name="Bitmask">0:CalRequireGPS</field>
      </param>
      <param humanName="Compass4 device id" name="COMPASS_DEV_ID4" documentation="Extra 4th compass's device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Compass5 device id" name="COMPASS_DEV_ID5" documentation="Extra 5th compass's device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Compass6 device id" name="COMPASS_DEV_ID6" documentation="Extra 6th compass's device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Compass7 device id" name="COMPASS_DEV_ID7" documentation="Extra 7th compass's device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Compass8 device id" name="COMPASS_DEV_ID8" documentation="Extra 8th compass's device id.  Automatically detected, do not set manually" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Custom orientation roll offset" name="COMPASS_CUS_ROLL" documentation="Compass mounting position roll offset. Positive values = roll right, negative values = roll left. This parameter is only used when COMPASS_ORIENT/2/3 is set to CUSTOM." user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Custom orientation pitch offset" name="COMPASS_CUS_PIT" documentation="Compass mounting position pitch offset. Positive values = pitch up, negative values = pitch down. This parameter is only used when COMPASS_ORIENT/2/3 is set to CUSTOM." user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Custom orientation yaw offset" name="COMPASS_CUS_YAW" documentation="Compass mounting position yaw offset. Positive values = yaw right, negative values = yaw left. This parameter is only used when COMPASS_ORIENT/2/3 is set to CUSTOM." user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="COMPASS_PMOT">
      <param humanName="per-motor compass correction enable" name="COMPASS_PMOT_EN" documentation="This enables per-motor compass corrections" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="per-motor exponential correction" name="COMPASS_PMOT_EXP" documentation="This is the exponential correction for the power output of the motor for per-motor compass correction" user="Advanced">
        <field name="Range">0 2</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Compass per-motor1 X" name="COMPASS_PMOT1_X" documentation="Compensation for X axis of motor1" user="Advanced">
</param>
      <param humanName="Compass per-motor1 Y" name="COMPASS_PMOT1_Y" documentation="Compensation for Y axis of motor1" user="Advanced">
</param>
      <param humanName="Compass per-motor1 Z" name="COMPASS_PMOT1_Z" documentation="Compensation for Z axis of motor1" user="Advanced">
</param>
      <param humanName="Compass per-motor2 X" name="COMPASS_PMOT2_X" documentation="Compensation for X axis of motor2" user="Advanced">
</param>
      <param humanName="Compass per-motor2 Y" name="COMPASS_PMOT2_Y" documentation="Compensation for Y axis of motor2" user="Advanced">
</param>
      <param humanName="Compass per-motor2 Z" name="COMPASS_PMOT2_Z" documentation="Compensation for Z axis of motor2" user="Advanced">
</param>
      <param humanName="Compass per-motor3 X" name="COMPASS_PMOT3_X" documentation="Compensation for X axis of motor3" user="Advanced">
</param>
      <param humanName="Compass per-motor3 Y" name="COMPASS_PMOT3_Y" documentation="Compensation for Y axis of motor3" user="Advanced">
</param>
      <param humanName="Compass per-motor3 Z" name="COMPASS_PMOT3_Z" documentation="Compensation for Z axis of motor3" user="Advanced">
</param>
      <param humanName="Compass per-motor4 X" name="COMPASS_PMOT4_X" documentation="Compensation for X axis of motor4" user="Advanced">
</param>
      <param humanName="Compass per-motor4 Y" name="COMPASS_PMOT4_Y" documentation="Compensation for Y axis of motor4" user="Advanced">
</param>
      <param humanName="Compass per-motor4 Z" name="COMPASS_PMOT4_Z" documentation="Compensation for Z axis of motor4" user="Advanced">
</param>
    </parameters>
    <parameters name="DID_">
      <param humanName="Enable ODID subsystem" name="DID_ENABLE" documentation="Enable ODID subsystem">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="MAVLink serial port" name="DID_MAVPORT" documentation="Serial port number to send OpenDroneID MAVLink messages to. Can be -1 if using DroneCAN.">
        <values>
          <value code="-1">Disabled</value>
          <value code="0">Serial0</value>
          <value code="1">Serial1</value>
          <value code="2">Serial2</value>
          <value code="3">Serial3</value>
          <value code="4">Serial4</value>
          <value code="5">Serial5</value>
          <value code="6">Serial6</value>
        </values>
      </param>
      <param humanName="DroneCAN driver number" name="DID_CANDRIVER" documentation="DroneCAN driver index, 0 to disable DroneCAN">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Driver1</value>
          <value code="2">Driver2</value>
        </values>
      </param>
      <param humanName="OpenDroneID options" name="DID_OPTIONS" documentation="Options for OpenDroneID subsystem. Bit 0 means to enforce arming checks">
        <field name="Bitmask">0:EnforceArming</field>
      </param>
      <param humanName="Barometer vertical accuraacy" name="DID_BARO_ACC" documentation="Barometer Vertical Accuracy when installed in the vehicle. Note this is dependent upon installation conditions and thus disabled by default" user="Advanced">
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="EAHRS">
      <param humanName="AHRS type" name="EAHRS_TYPE" documentation="Type of AHRS device" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">VectorNav</value>
          <value code="2">LORD</value>
        </values>
      </param>
      <param humanName="AHRS data rate" name="EAHRS_RATE" documentation="Requested rate for AHRS device" user="Standard">
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="EFI">
      <param humanName="EFI communication type" name="EFI_TYPE" documentation="What method of communication is used for EFI #1" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Serial-MS</value>
          <value code="2">NWPMU</value>
          <value code="3">Serial-Lutan</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="EFI Calibration Coefficient 1" name="EFI_COEF1" documentation="Used to calibrate fuel flow for MS protocol (Slope)" user="Advanced">
        <field name="Range">0 1</field>
      </param>
      <param humanName="EFI Calibration Coefficient 2" name="EFI_COEF2" documentation="Used to calibrate fuel flow for MS protocol (Offset)" user="Advanced">
        <field name="Range">0 10</field>
      </param>
    </parameters>
    <parameters name="EK2_">
      <param humanName="Enable EKF2" name="EK2_ENABLE" documentation="This enables EKF2. Enabling EKF2 only makes the maths run, it does not mean it will be used for flight control. To use it for flight control set AHRS_EKF_TYPE=2. A reboot or restart will need to be performed after changing the value of EK2_ENABLE for it to take effect." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="GPS mode control" name="EK2_GPS_TYPE" documentation="This controls use of GPS measurements : 0 = use 3D velocity &amp; 2D position, 1 = use 2D velocity and 2D position, 2 = use 2D position, 3 = Inhibit GPS use - this can be useful when flying with an optical flow sensor in an environment where GPS quality is poor and subject to large multipath errors." user="Advanced">
        <values>
          <value code="0">GPS 3D Vel and 2D Pos</value>
          <value code="1">GPS 2D vel and 2D pos</value>
          <value code="2">GPS 2D pos</value>
          <value code="3">No GPS</value>
        </values>
      </param>
      <param humanName="GPS horizontal velocity measurement noise (m/s)" name="EK2_VELNE_M_NSE" documentation="This sets a lower limit on the speed accuracy reported by the GPS receiver that is used to set horizontal velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then the parameter value will be used. Increasing it reduces the weighting of the GPS horizontal velocity measurements." user="Advanced">
        <field name="Range">0.05 5.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="GPS vertical velocity measurement noise (m/s)" name="EK2_VELD_M_NSE" documentation="This sets a lower limit on the speed accuracy reported by the GPS receiver that is used to set vertical velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then the parameter value will be used. Increasing it reduces the weighting of the GPS vertical velocity measurements." user="Advanced">
        <field name="Range">0.05 5.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="GPS velocity innovation gate size" name="EK2_VEL_I_GATE" documentation="This sets the percentage number of standard deviations applied to the GPS velocity measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="GPS horizontal position measurement noise (m)" name="EK2_POSNE_M_NSE" documentation="This sets the GPS horizontal position observation noise. Increasing it reduces the weighting of GPS horizontal position measurements." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="GPS position measurement gate size" name="EK2_POS_I_GATE" documentation="This sets the percentage number of standard deviations applied to the GPS position measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="GPS glitch radius gate size (m)" name="EK2_GLITCH_RAD" documentation="This controls the maximum radial uncertainty in position between the value predicted by the filter and the value measured by the GPS before the filter position and velocity states are reset to the GPS. Making this value larger allows the filter to ignore larger GPS glitches but also means that non-GPS errors such as IMU and compass can create a larger error in position before the filter is forced back to the GPS position." user="Advanced">
        <field name="Range">10 100</field>
        <field name="Increment">5</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Primary altitude sensor source" name="EK2_ALT_SOURCE" documentation="Primary height sensor used by the EKF. If a sensor other than Baro is selected and becomes unavailable, then the Baro sensor will be used as a fallback. NOTE: The EK2_RNG_USE_HGT parameter can be used to switch to range-finder when close to the ground in conjunction with EK2_ALT_SOURCE = 0 or 2 (Baro or GPS)." user="Advanced">
        <values>
          <value code="0">Use Baro</value>
          <value code="1">Use Range Finder</value>
          <value code="2">Use GPS</value>
          <value code="3">Use Range Beacon</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Altitude measurement noise (m)" name="EK2_ALT_M_NSE" documentation="This is the RMS value of noise in the altitude measurement. Increasing it reduces the weighting of the baro measurement and will make the filter respond more slowly to baro measurement errors, but will make it more sensitive to GPS and accelerometer errors." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Height measurement gate size" name="EK2_HGT_I_GATE" documentation="This sets the percentage number of standard deviations applied to the height measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Height measurement delay (msec)" name="EK2_HGT_DELAY" documentation="This is the number of msec that the Height measurements lag behind the inertial measurements." user="Advanced">
        <field name="Range">0 250</field>
        <field name="Increment">10</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Magnetometer measurement noise (Gauss)" name="EK2_MAG_M_NSE" documentation="This is the RMS value of noise in magnetometer measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
        <field name="Range">0.01 0.5</field>
        <field name="Increment">0.01</field>
        <field name="Units">Gauss</field>
        <field name="UnitText">gauss</field>
      </param>
      <param humanName="Magnetometer default fusion mode" name="EK2_MAG_CAL" documentation="This determines when the filter will use the 3-axis magnetometer fusion model that estimates both earth and body fixed magnetic field states, when it will use a simpler magnetic heading fusion model that does not use magnetic field states and when it will use an alternative method of yaw determination to the magnetometer. The 3-axis magnetometer fusion is only suitable for use when the external magnetic field environment is stable. EK2_MAG_CAL = 0 uses heading fusion on ground, 3-axis fusion in-flight, and is the default setting for Plane users. EK2_MAG_CAL = 1 uses 3-axis fusion only when manoeuvring. EK2_MAG_CAL = 2 uses heading fusion at all times, is recommended if the external magnetic field is varying and is the default for rovers. EK2_MAG_CAL = 3 uses heading fusion on the ground and 3-axis fusion after the first in-air field and yaw reset has completed, and is the default for copters. EK2_MAG_CAL = 4 uses 3-axis fusion at all times. NOTE: The fusion mode can be forced to 2 for specific EKF cores using the EK2_MAG_MASK parameter. NOTE: limited operation without a magnetometer or any other yaw sensor is possible by setting all COMPASS_USE, COMPASS_USE2, COMPASS_USE3, etc parameters to 0 with COMPASS_ENABLE set to 1. If this is done, the EK2_GSF_RUN and EK2_GSF_USE masks must be set to the same as EK2_IMU_MASK." user="Advanced">
        <values>
          <value code="0">When flying</value>
          <value code="1">When manoeuvring</value>
          <value code="2">Never</value>
          <value code="3">After first climb yaw reset</value>
          <value code="4">Always</value>
        </values>
      </param>
      <param humanName="Magnetometer measurement gate size" name="EK2_MAG_I_GATE" documentation="This sets the percentage number of standard deviations applied to the magnetometer measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Equivalent airspeed measurement noise (m/s)" name="EK2_EAS_M_NSE" documentation="This is the RMS value of noise in equivalent airspeed measurements used by planes. Increasing it reduces the weighting of airspeed measurements and will make wind speed estimates less noisy and slower to converge. Increasing also increases navigation errors when dead-reckoning without GPS measurements." user="Advanced">
        <field name="Range">0.5 5.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Airspeed measurement gate size" name="EK2_EAS_I_GATE" documentation="This sets the percentage number of standard deviations applied to the airspeed measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Range finder measurement noise (m)" name="EK2_RNG_M_NSE" documentation="This is the RMS value of noise in the range finder measurement. Increasing it reduces the weighting on this measurement." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Range finder measurement gate size" name="EK2_RNG_I_GATE" documentation="This sets the percentage number of standard deviations applied to the range finder innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Maximum valid optical flow rate" name="EK2_MAX_FLOW" documentation="This sets the magnitude maximum optical flow rate in rad/sec that will be accepted by the filter" user="Advanced">
        <field name="Range">1.0 4.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Optical flow measurement noise (rad/s)" name="EK2_FLOW_M_NSE" documentation="This is the RMS value of noise and errors in optical flow measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
        <field name="Range">0.05 1.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Optical Flow measurement gate size" name="EK2_FLOW_I_GATE" documentation="This sets the percentage number of standard deviations applied to the optical flow innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Optical Flow measurement delay (msec)" name="EK2_FLOW_DELAY" documentation="This is the number of msec that the optical flow measurements lag behind the inertial measurements. It is the time from the end of the optical flow averaging period and does not include the time delay due to the 100msec of averaging within the flow sensor." user="Advanced">
        <field name="Range">0 127</field>
        <field name="Increment">10</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Rate gyro noise (rad/s)" name="EK2_GYRO_P_NSE" documentation="This control disturbance noise controls the growth of estimated error due to gyro measurement errors excluding bias. Increasing it makes the flter trust the gyro measurements less and other measurements more." user="Advanced">
        <field name="Range">0.0001 0.1</field>
        <field name="Increment">0.0001</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Accelerometer noise (m/s^2)" name="EK2_ACC_P_NSE" documentation="This control disturbance noise controls the growth of estimated error due to accelerometer measurement errors excluding bias. Increasing it makes the flter trust the accelerometer measurements less and other measurements more." user="Advanced">
        <field name="Range">0.01 1.0</field>
        <field name="Increment">0.01</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Rate gyro bias stability (rad/s/s)" name="EK2_GBIAS_P_NSE" documentation="This state  process noise controls growth of the gyro delta angle bias state error estimate. Increasing it makes rate gyro bias estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.001</field>
        <field name="Units">rad/s/s</field>
        <field name="UnitText">radians per square second</field>
      </param>
      <param humanName="Rate gyro scale factor stability (1/s)" name="EK2_GSCL_P_NSE" documentation="This noise controls the rate of gyro scale factor learning. Increasing it makes rate gyro scale factor estimation faster and noisier." user="Advanced">
        <field name="Range">0.000001 0.001</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Accelerometer bias stability (m/s^3)" name="EK2_ABIAS_P_NSE" documentation="This noise controls the growth of the vertical accelerometer delta velocity bias state error estimate. Increasing it makes accelerometer bias estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.005</field>
        <field name="Units">m/s/s/s</field>
        <field name="UnitText">meters per cubic second</field>
      </param>
      <param humanName="Wind velocity process noise (m/s^2)" name="EK2_WIND_P_NSE" documentation="This state process noise controls the growth of wind state error estimates. Increasing it makes wind estimation faster and noisier." user="Advanced">
        <field name="Range">0.01 1.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Height rate to wind process noise scaler" name="EK2_WIND_PSCALE" documentation="This controls how much the process noise on the wind states is increased when gaining or losing altitude to take into account changes in wind speed and direction with altitude. Increasing this parameter increases how rapidly the wind states adapt when changing altitude, but does make wind velocity estimation noiser." user="Advanced">
        <field name="Range">0.0 1.0</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="GPS preflight check" name="EK2_GPS_CHECK" documentation="This is a 1 byte bitmap controlling which GPS preflight checks are performed. Set to 0 to bypass all checks. Set to 255 perform all checks. Set to 3 to check just the number of satellites and HDoP. Set to 31 for the most rigorous checks that will still allow checks to pass when the copter is moving, eg launch from a boat." user="Advanced">
        <field name="Bitmask">0:NSats,1:HDoP,2:speed error,3:position error,4:yaw error,5:pos drift,6:vert speed,7:horiz speed</field>
      </param>
      <param humanName="Bitmask of active IMUs" name="EK2_IMU_MASK" documentation="1 byte bitmap of IMUs to use in EKF2. A separate instance of EKF2 will be started for each IMU selected. Set to 1 to use the first IMU only (default), set to 2 to use the second IMU only, set to 3 to use the first and second IMU. Additional IMU's can be used up to a maximum of 6 if memory and processing resources permit. There may be insufficient memory and processing resources to run multiple instances. If this occurs EKF2 will fail to start." user="Advanced">
        <field name="Bitmask">0:FirstIMU,1:SecondIMU,2:ThirdIMU,3:FourthIMU,4:FifthIMU,5:SixthIMU</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="GPS accuracy check scaler (%)" name="EK2_CHECK_SCALE" documentation="This scales the thresholds that are used to check GPS accuracy before it is used by the EKF. A value of 100 is the default. Values greater than 100 increase and values less than 100 reduce the maximum GPS error the EKF will accept. A value of 200 will double the allowable GPS error." user="Advanced">
        <field name="Range">50 200</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Non-GPS operation position uncertainty (m)" name="EK2_NOAID_M_NSE" documentation="This sets the amount of position variation that the EKF allows for when operating without external measurements (eg GPS or optical flow). Increasing this parameter makes the EKF attitude estimate less sensitive to vehicle manoeuvres but more sensitive to IMU errors." user="Advanced">
        <field name="Range">0.5 50.0</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Yaw measurement noise (rad)" name="EK2_YAW_M_NSE" documentation="This is the RMS value of noise in yaw measurements from the magnetometer. Increasing it reduces the weighting on these measurements." user="Advanced">
        <field name="Range">0.05 1.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">rad</field>
        <field name="UnitText">radians</field>
      </param>
      <param humanName="Yaw measurement gate size" name="EK2_YAW_I_GATE" documentation="This sets the percentage number of standard deviations applied to the magnetometer yaw measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Output complementary filter time constant (centi-sec)" name="EK2_TAU_OUTPUT" documentation="Sets the time constant of the output complementary filter/predictor in centi-seconds." user="Advanced">
        <field name="Range">10 50</field>
        <field name="Increment">5</field>
        <field name="Units">cs</field>
        <field name="UnitText">centiseconds</field>
      </param>
      <param humanName="Earth magnetic field process noise (gauss/s)" name="EK2_MAGE_P_NSE" documentation="This state process noise controls the growth of earth magnetic field state error estimates. Increasing it makes earth magnetic field estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.01</field>
        <field name="Units">Gauss/s</field>
        <field name="UnitText">gauss per second</field>
      </param>
      <param humanName="Body magnetic field process noise (gauss/s)" name="EK2_MAGB_P_NSE" documentation="This state process noise controls the growth of body magnetic field state error estimates. Increasing it makes magnetometer bias error estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.01</field>
        <field name="Units">Gauss/s</field>
        <field name="UnitText">gauss per second</field>
      </param>
      <param humanName="Range finder switch height percentage" name="EK2_RNG_USE_HGT" documentation="Range finder can be used as the primary height source when below this percentage of its maximum range (see RNGFND_MAX_CM). This will not work unless Baro or GPS height is selected as the primary height source vis EK2_ALT_SOURCE = 0 or 2 respectively.  This feature should not be used for terrain following as it is designed  for vertical takeoff and landing with climb above  the range finder use height before commencing the mission, and with horizontal position changes below that height being limited to a flat region around the takeoff and landing point." user="Advanced">
        <field name="Range">-1 70</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Maximum terrain gradient" name="EK2_TERR_GRAD" documentation="Specifies the maximum gradient of the terrain below the vehicle assumed when it is fusing range finder or optical flow to estimate terrain height." user="Advanced">
        <field name="Range">0 0.2</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Range beacon measurement noise (m)" name="EK2_BCN_M_NSE" documentation="This is the RMS value of noise in the range beacon measurement. Increasing it reduces the weighting on this measurement." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Range beacon measurement gate size" name="EK2_BCN_I_GTE" documentation="This sets the percentage number of standard deviations applied to the range beacon measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Range beacon measurement delay (msec)" name="EK2_BCN_DELAY" documentation="This is the number of msec that the range beacon measurements lag behind the inertial measurements. It is the time from the end of the optical flow averaging period and does not include the time delay due to the 100msec of averaging within the flow sensor." user="Advanced">
        <field name="Range">0 127</field>
        <field name="Increment">10</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Range finder max ground speed" name="EK2_RNG_USE_SPD" documentation="The range finder will not be used as the primary height source when the horizontal ground speed is greater than this value." user="Advanced">
        <field name="Range">2.0 6.0</field>
        <field name="Increment">0.5</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Bitmask of active EKF cores that will always use heading fusion" name="EK2_MAG_MASK" documentation="1 byte bitmap of EKF cores that will disable magnetic field states and use simple magnetic heading fusion at all times. This parameter enables specified cores to be used as a backup for flight into an environment with high levels of external magnetic interference which may degrade the EKF attitude estimate when using 3-axis magnetometer fusion. NOTE : Use of a different magnetometer fusion algorithm on different cores makes unwanted EKF core switches due to magnetometer errors more likely." user="Advanced">
        <field name="Bitmask">0:FirstEKF,1:SecondEKF,2:ThirdEKF,3:FourthEKF,4:FifthEKF,5:SixthEKF</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Bitmask control of EKF reference height correction" name="EK2_OGN_HGT_MASK" documentation="When a height sensor other than GPS is used as the primary height source by the EKF, the position of the zero height datum is defined by that sensor and its frame of reference. If a GPS height measurement is also available, then the height of the WGS-84 height datum used by the EKF can be corrected so that the height returned by the getLLH() function is compensated for primary height sensor drift and change in datum over time. The first two bit positions control when the height datum will be corrected. Correction is performed using a Bayes filter and only operates when GPS quality permits. The third bit position controls where the corrections to the GPS reference datum are applied. Corrections can be applied to the local vertical position or to the reported EKF origin height (default)." user="Advanced">
        <field name="Bitmask">0:Correct when using Baro height,1:Correct when using range finder height,2:Apply corrections to local position</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Optical flow use bitmask" name="EK2_FLOW_USE" documentation="Controls if the optical flow data is fused into the 24-state navigation estimator OR the 1-state terrain height estimator." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Navigation</value>
          <value code="2">Terrain</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="EarthField error limit" name="EK2_MAG_EF_LIM" documentation="This limits the difference between the learned earth magnetic field and the earth field from the world magnetic model tables. A value of zero means to disable the use of the WMM tables." user="Advanced">
        <field name="Range">0 500</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Height rate filter crossover frequency" name="EK2_HRT_FILT" documentation="Specifies the crossover frequency of the complementary filter used to calculate the output predictor height rate derivative.">
        <field name="Range">0.1 30.0</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Bitmask of which EKF-GSF yaw estimators run" name="EK2_GSF_RUN_MASK" documentation="A bitmask of which EKF2 instances run an independant EKF-GSF yaw estimator to provide a backup yaw estimate that doesn't rely on magnetometer data. This estimator uses IMU, GPS and, if available, airspeed data. EKF-GSF yaw estimator data for the primary EKF2 instance will be logged as GSF0 and GSF1 messages. Use of the yaw estimate generated by this algorithm is controlled by the EK2_GSF_USE_MASK and EK2_GSF_RST_MAX parameters. To run the EKF-GSF yaw estimator in ride-along and logging only, set EK2_GSF_USE_MASK to 0. " user="Advanced">
        <field name="Bitmask">0:FirstEKF,1:SecondEKF,2:ThirdEKF,3:FourthEKF,4:FifthEKF,5:SixthEKF</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Bitmask of which EKF-GSF yaw estimators are used" name="EK2_GSF_USE_MASK" documentation="1 byte bitmap of which EKF2 instances will use the output from the EKF-GSF yaw estimator that has been turned on by the EK2_GSF_RUN_MASK parameter. If the inertial navigation calculation stops following the GPS, then the vehicle code can request EKF2 to attempt to resolve the issue, either by performing a yaw reset if enabled by this parameter by switching to another EKF2 instance." user="Advanced">
        <field name="Bitmask">0:FirstEKF,1:SecondEKF,2:ThirdEKF,3:FourthEKF,4:FifthEKF,5:SixthEKF</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Maximum number of resets to the EKF-GSF yaw estimate allowed" name="EK2_GSF_RST_MAX" documentation="Sets the maximum number of times the EKF2 will be allowed to reset its yaw to the estimate from the EKF-GSF yaw estimator. No resets will be allowed unless the use of the EKF-GSF yaw estimate is enabled via the EK2_GSF_USE_MASK parameter." user="Advanced">
        <field name="Range">1 10</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="EK3_">
      <param humanName="Enable EKF3" name="EK3_ENABLE" documentation="This enables EKF3. Enabling EKF3 only makes the maths run, it does not mean it will be used for flight control. To use it for flight control set AHRS_EKF_TYPE=3. A reboot or restart will need to be performed after changing the value of EK3_ENABLE for it to take effect." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="GPS horizontal velocity measurement noise (m/s)" name="EK3_VELNE_M_NSE" documentation="This sets a lower limit on the speed accuracy reported by the GPS receiver that is used to set horizontal velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then the parameter value will be used. Increasing it reduces the weighting of the GPS horizontal velocity measurements." user="Advanced">
        <field name="Range">0.05 5.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="GPS vertical velocity measurement noise (m/s)" name="EK3_VELD_M_NSE" documentation="This sets a lower limit on the speed accuracy reported by the GPS receiver that is used to set vertical velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then the parameter value will be used. Increasing it reduces the weighting of the GPS vertical velocity measurements." user="Advanced">
        <field name="Range">0.05 5.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="GPS velocity innovation gate size" name="EK3_VEL_I_GATE" documentation="This sets the percentage number of standard deviations applied to the GPS velocity measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="GPS horizontal position measurement noise (m)" name="EK3_POSNE_M_NSE" documentation="This sets the GPS horizontal position observation noise. Increasing it reduces the weighting of GPS horizontal position measurements." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="GPS position measurement gate size" name="EK3_POS_I_GATE" documentation="This sets the percentage number of standard deviations applied to the GPS position measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="GPS glitch radius gate size (m)" name="EK3_GLITCH_RAD" documentation="This controls the maximum radial uncertainty in position between the value predicted by the filter and the value measured by the GPS before the filter position and velocity states are reset to the GPS. Making this value larger allows the filter to ignore larger GPS glitches but also means that non-GPS errors such as IMU and compass can create a larger error in position before the filter is forced back to the GPS position." user="Advanced">
        <field name="Range">10 100</field>
        <field name="Increment">5</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Altitude measurement noise (m)" name="EK3_ALT_M_NSE" documentation="This is the RMS value of noise in the altitude measurement. Increasing it reduces the weighting of the baro measurement and will make the filter respond more slowly to baro measurement errors, but will make it more sensitive to GPS and accelerometer errors." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Height measurement gate size" name="EK3_HGT_I_GATE" documentation="This sets the percentage number of standard deviations applied to the height measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Height measurement delay (msec)" name="EK3_HGT_DELAY" documentation="This is the number of msec that the Height measurements lag behind the inertial measurements." user="Advanced">
        <field name="Range">0 250</field>
        <field name="Increment">10</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Magnetometer measurement noise (Gauss)" name="EK3_MAG_M_NSE" documentation="This is the RMS value of noise in magnetometer measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
        <field name="Range">0.01 0.5</field>
        <field name="Increment">0.01</field>
        <field name="Units">Gauss</field>
        <field name="UnitText">gauss</field>
      </param>
      <param humanName="Magnetometer default fusion mode" name="EK3_MAG_CAL" documentation="This determines when the filter will use the 3-axis magnetometer fusion model that estimates both earth and body fixed magnetic field states and when it will use a simpler magnetic heading fusion model that does not use magnetic field states. The 3-axis magnetometer fusion is only suitable for use when the external magnetic field environment is stable. EK3_MAG_CAL = 0 uses heading fusion on ground, 3-axis fusion in-flight, and is the default setting for Plane users. EK3_MAG_CAL = 1 uses 3-axis fusion only when manoeuvring. EK3_MAG_CAL = 2 uses heading fusion at all times, is recommended if the external magnetic field is varying and is the default for rovers. EK3_MAG_CAL = 3 uses heading fusion on the ground and 3-axis fusion after the first in-air field and yaw reset has completed, and is the default for copters. EK3_MAG_CAL = 4 uses 3-axis fusion at all times. EK3_MAG_CAL = 5 uses an external yaw sensor with simple heading fusion. NOTE : Use of simple heading magnetometer fusion makes vehicle compass calibration and alignment errors harder for the EKF to detect which reduces the sensitivity of the Copter EKF failsafe algorithm. NOTE: The fusion mode can be forced to 2 for specific EKF cores using the EK3_MAG_MASK parameter. EK3_MAG_CAL = 6 uses an external yaw sensor with fallback to compass when the external sensor is not available if we are flying. NOTE: The fusion mode can be forced to 2 for specific EKF cores using the EK3_MAG_MASK parameter. NOTE: limited operation without a magnetometer or any other yaw sensor is possible by setting all COMPASS_USE, COMPASS_USE2, COMPASS_USE3, etc parameters to 0 and setting COMPASS_ENABLE to 0. If this is done, the EK3_GSF_RUN and EK3_GSF_USE masks must be set to the same as EK3_IMU_MASK. A yaw angle derived from IMU and GPS velocity data using a Gaussian Sum Filter (GSF) will then be used to align the yaw when flight commences and there is sufficient movement." user="Advanced">
        <values>
          <value code="0">When flying</value>
          <value code="1">When manoeuvring</value>
          <value code="2">Never</value>
          <value code="3">After first climb yaw reset</value>
          <value code="4">Always</value>
          <value code="5">Use external yaw sensor (Deprecated in 4.1+ see EK3_SRCn_YAW)</value>
          <value code="6">External yaw sensor with compass fallback (Deprecated in 4.1+ see EK3_SRCn_YAW)</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Magnetometer measurement gate size" name="EK3_MAG_I_GATE" documentation="This sets the percentage number of standard deviations applied to the magnetometer measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Equivalent airspeed measurement noise (m/s)" name="EK3_EAS_M_NSE" documentation="This is the RMS value of noise in equivalent airspeed measurements used by planes. Increasing it reduces the weighting of airspeed measurements and will make wind speed estimates less noisy and slower to converge. Increasing also increases navigation errors when dead-reckoning without GPS measurements." user="Advanced">
        <field name="Range">0.5 5.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Airspeed measurement gate size" name="EK3_EAS_I_GATE" documentation="This sets the percentage number of standard deviations applied to the airspeed measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Range finder measurement noise (m)" name="EK3_RNG_M_NSE" documentation="This is the RMS value of noise in the range finder measurement. Increasing it reduces the weighting on this measurement." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Range finder measurement gate size" name="EK3_RNG_I_GATE" documentation="This sets the percentage number of standard deviations applied to the range finder innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Maximum valid optical flow rate" name="EK3_MAX_FLOW" documentation="This sets the magnitude maximum optical flow rate in rad/sec that will be accepted by the filter" user="Advanced">
        <field name="Range">1.0 4.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Optical flow measurement noise (rad/s)" name="EK3_FLOW_M_NSE" documentation="This is the RMS value of noise and errors in optical flow measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
        <field name="Range">0.05 1.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Optical Flow measurement gate size" name="EK3_FLOW_I_GATE" documentation="This sets the percentage number of standard deviations applied to the optical flow innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Optical Flow measurement delay (msec)" name="EK3_FLOW_DELAY" documentation="This is the number of msec that the optical flow measurements lag behind the inertial measurements. It is the time from the end of the optical flow averaging period and does not include the time delay due to the 100msec of averaging within the flow sensor." user="Advanced">
        <field name="Range">0 250</field>
        <field name="Increment">10</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Rate gyro noise (rad/s)" name="EK3_GYRO_P_NSE" documentation="This control disturbance noise controls the growth of estimated error due to gyro measurement errors excluding bias. Increasing it makes the flter trust the gyro measurements less and other measurements more." user="Advanced">
        <field name="Range">0.0001 0.1</field>
        <field name="Increment">0.0001</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Accelerometer noise (m/s^2)" name="EK3_ACC_P_NSE" documentation="This control disturbance noise controls the growth of estimated error due to accelerometer measurement errors excluding bias. Increasing it makes the flter trust the accelerometer measurements less and other measurements more." user="Advanced">
        <field name="Range">0.01 1.0</field>
        <field name="Increment">0.01</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Rate gyro bias stability (rad/s/s)" name="EK3_GBIAS_P_NSE" documentation="This state  process noise controls growth of the gyro delta angle bias state error estimate. Increasing it makes rate gyro bias estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.001</field>
        <field name="Units">rad/s/s</field>
        <field name="UnitText">radians per square second</field>
      </param>
      <param humanName="Accelerometer bias stability (m/s^3)" name="EK3_ABIAS_P_NSE" documentation="This noise controls the growth of the vertical accelerometer delta velocity bias state error estimate. Increasing it makes accelerometer bias estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.005</field>
        <field name="Units">m/s/s/s</field>
        <field name="UnitText">meters per cubic second</field>
      </param>
      <param humanName="Wind velocity process noise (m/s^2)" name="EK3_WIND_P_NSE" documentation="This state process noise controls the growth of wind state error estimates. Increasing it makes wind estimation faster and noisier." user="Advanced">
        <field name="Range">0.01 2.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Height rate to wind process noise scaler" name="EK3_WIND_PSCALE" documentation="This controls how much the process noise on the wind states is increased when gaining or losing altitude to take into account changes in wind speed and direction with altitude. Increasing this parameter increases how rapidly the wind states adapt when changing altitude, but does make wind velocity estimation noiser." user="Advanced">
        <field name="Range">0.0 2.0</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="GPS preflight check" name="EK3_GPS_CHECK" documentation="This is a 1 byte bitmap controlling which GPS preflight checks are performed. Set to 0 to bypass all checks. Set to 255 perform all checks. Set to 3 to check just the number of satellites and HDoP. Set to 31 for the most rigorous checks that will still allow checks to pass when the copter is moving, eg launch from a boat." user="Advanced">
        <field name="Bitmask">0:NSats,1:HDoP,2:speed error,3:position error,4:yaw error,5:pos drift,6:vert speed,7:horiz speed</field>
      </param>
      <param humanName="Bitmask of active IMUs" name="EK3_IMU_MASK" documentation="1 byte bitmap of IMUs to use in EKF3. A separate instance of EKF3 will be started for each IMU selected. Set to 1 to use the first IMU only (default), set to 2 to use the second IMU only, set to 3 to use the first and second IMU. Additional IMU's can be used up to a maximum of 6 if memory and processing resources permit. There may be insufficient memory and processing resources to run multiple instances. If this occurs EKF3 will fail to start." user="Advanced">
        <field name="Bitmask">0:FirstIMU,1:SecondIMU,2:ThirdIMU,3:FourthIMU,4:FifthIMU,5:SixthIMU</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="GPS accuracy check scaler (%)" name="EK3_CHECK_SCALE" documentation="This scales the thresholds that are used to check GPS accuracy before it is used by the EKF. A value of 100 is the default. Values greater than 100 increase and values less than 100 reduce the maximum GPS error the EKF will accept. A value of 200 will double the allowable GPS error." user="Advanced">
        <field name="Range">50 200</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Non-GPS operation position uncertainty (m)" name="EK3_NOAID_M_NSE" documentation="This sets the amount of position variation that the EKF allows for when operating without external measurements (eg GPS or optical flow). Increasing this parameter makes the EKF attitude estimate less sensitive to vehicle manoeuvres but more sensitive to IMU errors." user="Advanced">
        <field name="Range">0.5 50.0</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Bitmask controlling sidelip angle fusion" name="EK3_BETA_MASK" documentation="1 byte bitmap controlling use of sideslip angle fusion for estimation of non wind states during operation of 'fly forward' vehicle types such as fixed wing planes. By assuming that the angle of sideslip is small, the wind velocity state estimates are corrected  whenever the EKF is not dead reckoning (e.g. has an independent velocity or position sensor such as GPS). This behaviour is on by default and cannot be disabled. When the EKF is dead reckoning, the wind states are used as a reference, enabling use of the small angle of sideslip assumption to correct non wind velocity states (eg attitude, velocity, position, etc) and improve navigation accuracy. This behaviour is on by default and cannot be disabled. The behaviour controlled by this parameter is the use of the small angle of sideslip assumption to correct non wind velocity states when the EKF is NOT dead reckoning. This is primarily of benefit to reduce the buildup of yaw angle errors during straight and level flight without a yaw sensor (e.g. magnetometer or dual antenna GPS yaw) provided aerobatic flight maneuvers with large sideslip angles are not performed. The 'always' option might be used where the yaw sensor is intentionally not fitted or disabled. The 'WhenNoYawSensor' option might be used if a yaw sensor is fitted, but protection against in-flight failure and continual rejection by the EKF is desired. For vehicles operated within visual range of the operator performing frequent turning maneuvers, setting this parameter is unnecessary." user="Advanced">
        <field name="Bitmask">0:Always,1:WhenNoYawSensor</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Yaw measurement noise (rad)" name="EK3_YAW_M_NSE" documentation="This is the RMS value of noise in yaw measurements from the magnetometer. Increasing it reduces the weighting on these measurements." user="Advanced">
        <field name="Range">0.05 1.0</field>
        <field name="Increment">0.05</field>
        <field name="Units">rad</field>
        <field name="UnitText">radians</field>
      </param>
      <param humanName="Yaw measurement gate size" name="EK3_YAW_I_GATE" documentation="This sets the percentage number of standard deviations applied to the magnetometer yaw measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Output complementary filter time constant (centi-sec)" name="EK3_TAU_OUTPUT" documentation="Sets the time constant of the output complementary filter/predictor in centi-seconds." user="Advanced">
        <field name="Range">10 50</field>
        <field name="Increment">5</field>
        <field name="Units">cs</field>
        <field name="UnitText">centiseconds</field>
      </param>
      <param humanName="Earth magnetic field process noise (gauss/s)" name="EK3_MAGE_P_NSE" documentation="This state process noise controls the growth of earth magnetic field state error estimates. Increasing it makes earth magnetic field estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.01</field>
        <field name="Units">Gauss/s</field>
        <field name="UnitText">gauss per second</field>
      </param>
      <param humanName="Body magnetic field process noise (gauss/s)" name="EK3_MAGB_P_NSE" documentation="This state process noise controls the growth of body magnetic field state error estimates. Increasing it makes magnetometer bias error estimation faster and noisier." user="Advanced">
        <field name="Range">0.00001 0.01</field>
        <field name="Units">Gauss/s</field>
        <field name="UnitText">gauss per second</field>
      </param>
      <param humanName="Range finder switch height percentage" name="EK3_RNG_USE_HGT" documentation="Range finder can be used as the primary height source when below this percentage of its maximum range (see RNGFNDx_MAX_CM) and the primary height source is Baro or GPS (see EK3_SRCx_POSZ).  This feature should not be used for terrain following as it is designed for vertical takeoff and landing with climb above the range finder use height before commencing the mission, and with horizontal position changes below that height being limited to a flat region around the takeoff and landing point." user="Advanced">
        <field name="Range">-1 70</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Maximum terrain gradient" name="EK3_TERR_GRAD" documentation="Specifies the maximum gradient of the terrain below the vehicle when it is using range finder as a height reference" user="Advanced">
        <field name="Range">0 0.2</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Range beacon measurement noise (m)" name="EK3_BCN_M_NSE" documentation="This is the RMS value of noise in the range beacon measurement. Increasing it reduces the weighting on this measurement." user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Range beacon measurement gate size" name="EK3_BCN_I_GTE" documentation="This sets the percentage number of standard deviations applied to the range beacon measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
        <field name="Range">100 1000</field>
        <field name="Increment">25</field>
      </param>
      <param humanName="Range beacon measurement delay (msec)" name="EK3_BCN_DELAY" documentation="This is the number of msec that the range beacon measurements lag behind the inertial measurements." user="Advanced">
        <field name="Range">0 250</field>
        <field name="Increment">10</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Range finder max ground speed" name="EK3_RNG_USE_SPD" documentation="The range finder will not be used as the primary height source when the horizontal ground speed is greater than this value." user="Advanced">
        <field name="Range">2.0 6.0</field>
        <field name="Increment">0.5</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Accelerometer bias limit" name="EK3_ACC_BIAS_LIM" documentation="The accelerometer bias state will be limited to +- this value" user="Advanced">
        <field name="Range">0.5 2.5</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Bitmask of active EKF cores that will always use heading fusion" name="EK3_MAG_MASK" documentation="1 byte bitmap of EKF cores that will disable magnetic field states and use simple magnetic heading fusion at all times. This parameter enables specified cores to be used as a backup for flight into an environment with high levels of external magnetic interference which may degrade the EKF attitude estimate when using 3-axis magnetometer fusion. NOTE : Use of a different magnetometer fusion algorithm on different cores makes unwanted EKF core switches due to magnetometer errors more likely." user="Advanced">
        <field name="Bitmask">0:FirstEKF,1:SecondEKF,2:ThirdEKF,3:FourthEKF,4:FifthEKF,5:SixthEKF</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Bitmask control of EKF reference height correction" name="EK3_OGN_HGT_MASK" documentation="When a height sensor other than GPS is used as the primary height source by the EKF, the position of the zero height datum is defined by that sensor and its frame of reference. If a GPS height measurement is also available, then the height of the WGS-84 height datum used by the EKF can be corrected so that the height returned by the getLLH() function is compensated for primary height sensor drift and change in datum over time. The first two bit positions control when the height datum will be corrected. Correction is performed using a Bayes filter and only operates when GPS quality permits. The third bit position controls where the corrections to the GPS reference datum are applied. Corrections can be applied to the local vertical position or to the reported EKF origin height (default)." user="Advanced">
        <field name="Bitmask">0:Correct when using Baro height,1:Correct when using range finder height,2:Apply corrections to local position</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Visual odometry minimum velocity error" name="EK3_VIS_VERR_MIN" documentation="This is the 1-STD odometry velocity observation error that will be assumed when maximum quality is reported by the sensor. When quality is between max and min, the error will be calculated using linear interpolation between VIS_VERR_MIN and VIS_VERR_MAX." user="Advanced">
        <field name="Range">0.05 0.5</field>
        <field name="Increment">0.05</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Visual odometry maximum velocity error" name="EK3_VIS_VERR_MAX" documentation="This is the 1-STD odometry velocity observation error that will be assumed when minimum quality is reported by the sensor. When quality is between max and min, the error will be calculated using linear interpolation between VIS_VERR_MIN and VIS_VERR_MAX." user="Advanced">
        <field name="Range">0.5 5.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Wheel odometry velocity error" name="EK3_WENC_VERR" documentation="This is the 1-STD odometry velocity observation error that will be assumed when wheel encoder data is being fused." user="Advanced">
        <field name="Range">0.01 1.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Optical flow use bitmask" name="EK3_FLOW_USE" documentation="Controls if the optical flow data is fused into the 24-state navigation estimator OR the 1-state terrain height estimator." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Navigation</value>
          <value code="2">Terrain</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Height rate filter crossover frequency" name="EK3_HRT_FILT" documentation="Specifies the crossover frequency of the complementary filter used to calculate the output predictor height rate derivative.">
        <field name="Range">0.1 30.0</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="EarthField error limit" name="EK3_MAG_EF_LIM" documentation="This limits the difference between the learned earth magnetic field and the earth field from the world magnetic model tables. A value of zero means to disable the use of the WMM tables." user="Advanced">
        <field name="Range">0 500</field>
        <field name="Units">mGauss</field>
        <field name="UnitText">milligauss</field>
      </param>
      <param humanName="Bitmask of which EKF-GSF yaw estimators run" name="EK3_GSF_RUN_MASK" documentation="1 byte bitmap of which EKF3 instances run an independant EKF-GSF yaw estimator to provide a backup yaw estimate that doesn't rely on magnetometer data. This estimator uses IMU, GPS and, if available, airspeed data. EKF-GSF yaw estimator data for the primary EKF3 instance will be logged as GSF0 and GSF1 messages. Use of the yaw estimate generated by this algorithm is controlled by the EK3_GSF_USE_MASK and EK3_GSF_RST_MAX parameters. To run the EKF-GSF yaw estimator in ride-along and logging only, set EK3_GSF_USE to 0. " user="Advanced">
        <field name="Bitmask">0:FirstEKF,1:SecondEKF,2:ThirdEKF,3:FourthEKF,4:FifthEKF,5:SixthEKF</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Bitmask of which EKF-GSF yaw estimators are used" name="EK3_GSF_USE_MASK" documentation="A bitmask of which EKF3 instances will use the output from the EKF-GSF yaw estimator that has been turned on by the EK3_GSF_RUN_MASK parameter. If the inertial navigation calculation stops following the GPS, then the vehicle code can request EKF3 to attempt to resolve the issue, either by performing a yaw reset if enabled by this parameter by switching to another EKF3 instance." user="Advanced">
        <field name="Bitmask">0:FirstEKF,1:SecondEKF,2:ThirdEKF,3:FourthEKF,4:FifthEKF,5:SixthEKF</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Maximum number of resets to the EKF-GSF yaw estimate allowed" name="EK3_GSF_RST_MAX" documentation="Sets the maximum number of times the EKF3 will be allowed to reset its yaw to the estimate from the EKF-GSF yaw estimator. No resets will be allowed unless the use of the EKF-GSF yaw estimate is enabled via the EK3_GSF_USE_MASK parameter." user="Advanced">
        <field name="Range">1 10</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="EKF3 Lane Relative Error Sensitivity Threshold" name="EK3_ERR_THRESH" documentation="lanes have to be consistently better than the primary by at least this threshold to reduce their overall relativeCoreError, lowering this makes lane switching more sensitive to smaller error differences" user="Advanced">
        <field name="Range">0.05 1</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="EKF3 Sensor Affinity Options" name="EK3_AFFINITY" documentation="These options control the affinity between sensor instances and EKF cores" user="Advanced">
        <field name="Bitmask">0:EnableGPSAffinity,1:EnableBaroAffinity,2:EnableCompassAffinity,3:EnableAirspeedAffinity</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Ballistic coefficient for X axis drag" name="EK3_DRAG_BCOEF_X" documentation="Ratio of mass to drag coefficient measured along the X body axis. This parameter enables estimation of wind drift for vehicles with bluff bodies and without propulsion forces in the X and Y direction (eg multicopters). The drag produced by this effect scales with speed squared.  Set to a postive value &gt; 1.0 to enable. A starting value is the mass in Kg divided by the frontal area. The predicted drag from the rotors is specified separately by the EK3_MCOEF parameter." user="Advanced">
        <field name="Range">0.0 1000.0</field>
        <field name="Units">kg/m/m</field>
        <field name="UnitText">kilograms per square meter</field>
      </param>
      <param humanName="Ballistic coefficient for Y axis drag" name="EK3_DRAG_BCOEF_Y" documentation="Ratio of mass to drag coefficient measured along the Y body axis. This parameter enables estimation of wind drift for vehicles with bluff bodies and without propulsion forces in the X and Y direction (eg multicopters). The drag produced by this effect scales with speed squared.  Set to a postive value &gt; 1.0 to enable. A starting value is the mass in Kg divided by the side area. The predicted drag from the rotors is specified separately by the EK3_MCOEF parameter." user="Advanced">
        <field name="Range">50.0 1000.0</field>
        <field name="Units">kg/m/m</field>
        <field name="UnitText">kilograms per square meter</field>
      </param>
      <param humanName="Observation noise for drag acceleration" name="EK3_DRAG_M_NSE" documentation="This sets the amount of noise used when fusing X and Y acceleration as an observation that enables esitmation of wind velocity for multi-rotor vehicles. This feature is enabled by the EK3_BCOEF_X and EK3_BCOEF_Y parameters" user="Advanced">
        <field name="Range">0.1 2.0</field>
        <field name="Increment">0.1</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Momentum coefficient for propeller drag" name="EK3_DRAG_MCOEF" documentation="This parameter is used to predict the drag produced by the rotors when flying a multi-copter, enabling estimation of wind drift. The drag produced by this effect scales with speed not speed squared and is produced because some of the air velocity normal to the rotors axis of rotation is lost when passing through the rotor disc which changes the momentum of the airflow causing drag. For unducted rotors the effect is roughly proportional to the area of the propeller blades when viewed side on and changes with different propellers. It is higher for ducted rotors. For example if flying at 15 m/s at sea level conditions produces a rotor induced drag acceleration of 1.5 m/s/s, then EK3_MCOEF would be set to 0.1 = (1.5/15.0). Set EK3_MCOEF to a postive value to enable wind estimation using this drag effect. To account for the drag produced by the body which scales with speed squared, see documentation for the EK3_BCOEF_X and EK3_BCOEF_Y parameters." user="Advanced">
        <field name="Range">0.0 1.0</field>
        <field name="Increment">0.01</field>
        <field name="Units">1/s</field>
        <field name="UnitText">per second</field>
      </param>
      <param humanName="On ground not moving test scale factor" name="EK3_OGNM_TEST_SF" documentation="This parameter is adjust the sensitivity of the on ground not moving test which is used to assist with learning the yaw gyro bias and stopping yaw drift before flight when operating without a yaw sensor. Bigger values allow the detection of a not moving condition with noiser IMU data. Check the XKFM data logged when the vehicle is on ground not moving and adjust the value of OGNM_TEST_SF to be slightly higher than the maximum value of the XKFM.ADR, XKFM.ALR, XKFM.GDR and XKFM.GLR test levels." user="Advanced">
        <field name="Range">1.0 10.0</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Baro height ground effect dead zone" name="EK3_GND_EFF_DZ" documentation="This parameter sets the size of the dead zone that is applied to negative baro height spikes that can occur when takeing off or landing when a vehicle with lift rotors is operating in ground effect ground effect. Set to about 0.5m less than the amount of negative offset in baro height that occurs just prior to takeoff when lift motors are spooling up. Set to 0 if no ground effect is present. " user="Advanced">
        <field name="Range">0.0 10.0</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Primary core number" name="EK3_PRIMARY" documentation="The core number (index in IMU mask) that will be used as the primary EKF core on startup. While disarmed the EKF will force the use of this core. A value of 0 corresponds to the first IMU in EK3_IMU_MASK." user="Advanced">
        <field name="Range">0 2</field>
        <field name="Increment">1</field>
      </param>
    </parameters>
    <parameters name="EK3_SRC">
      <param humanName="Position Horizontal Source (Primary)" name="EK3_SRC1_POSXY" documentation="Position Horizontal Source (Primary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Velocity Horizontal Source" name="EK3_SRC1_VELXY" documentation="Velocity Horizontal Source" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="5">OpticalFlow</value>
          <value code="6">ExternalNav</value>
          <value code="7">WheelEncoder</value>
        </values>
      </param>
      <param humanName="Position Vertical Source" name="EK3_SRC1_POSZ" documentation="Position Vertical Source" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Baro</value>
          <value code="2">RangeFinder</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Velocity Vertical Source" name="EK3_SRC1_VELZ" documentation="Velocity Vertical Source" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Yaw Source" name="EK3_SRC1_YAW" documentation="Yaw Source" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Compass</value>
          <value code="2">GPS</value>
          <value code="3">GPS with Compass Fallback</value>
          <value code="6">ExternalNav</value>
          <value code="8">GSF</value>
        </values>
      </param>
      <param humanName="Position Horizontal Source (Secondary)" name="EK3_SRC2_POSXY" documentation="Position Horizontal Source (Secondary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Velocity Horizontal Source (Secondary)" name="EK3_SRC2_VELXY" documentation="Velocity Horizontal Source (Secondary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="5">OpticalFlow</value>
          <value code="6">ExternalNav</value>
          <value code="7">WheelEncoder</value>
        </values>
      </param>
      <param humanName="Position Vertical Source (Secondary)" name="EK3_SRC2_POSZ" documentation="Position Vertical Source (Secondary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Baro</value>
          <value code="2">RangeFinder</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Velocity Vertical Source (Secondary)" name="EK3_SRC2_VELZ" documentation="Velocity Vertical Source (Secondary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Yaw Source (Secondary)" name="EK3_SRC2_YAW" documentation="Yaw Source (Secondary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Compass</value>
          <value code="2">GPS</value>
          <value code="3">GPS with Compass Fallback</value>
          <value code="6">ExternalNav</value>
          <value code="8">GSF</value>
        </values>
      </param>
      <param humanName="Position Horizontal Source (Tertiary)" name="EK3_SRC3_POSXY" documentation="Position Horizontal Source (Tertiary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Velocity Horizontal Source (Tertiary)" name="EK3_SRC3_VELXY" documentation="Velocity Horizontal Source (Tertiary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="5">OpticalFlow</value>
          <value code="6">ExternalNav</value>
          <value code="7">WheelEncoder</value>
        </values>
      </param>
      <param humanName="Position Vertical Source (Tertiary)" name="EK3_SRC3_POSZ" documentation="Position Vertical Source (Tertiary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Baro</value>
          <value code="2">RangeFinder</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Velocity Vertical Source (Tertiary)" name="EK3_SRC3_VELZ" documentation="Velocity Vertical Source (Tertiary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="3">GPS</value>
          <value code="4">Beacon</value>
          <value code="6">ExternalNav</value>
        </values>
      </param>
      <param humanName="Yaw Source (Tertiary)" name="EK3_SRC3_YAW" documentation="Yaw Source (Tertiary)" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Compass</value>
          <value code="2">GPS</value>
          <value code="3">GPS with Compass Fallback</value>
          <value code="6">ExternalNav</value>
          <value code="8">GSF</value>
        </values>
      </param>
      <param humanName="EKF Source Options" name="EK3_SRC_OPTIONS" documentation="EKF Source Options" user="Advanced">
        <field name="Bitmask">0:FuseAllVelocities</field>
      </param>
    </parameters>
    <parameters name="FENCE_">
      <param humanName="Fence enable/disable" name="FENCE_ENABLE" documentation="Allows you to enable (1) or disable (0) the fence functionality" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Fence Type" name="FENCE_TYPE" documentation="Enabled fence types held as bitmask" user="Standard">
        <field name="Bitmask">0:Max altitude,1:Circle,2:Polygon,3:Min altitude</field>
      </param>
      <param humanName="Fence Action" name="FENCE_ACTION" documentation="What action should be taken when fence is breached" user="Standard">
        <values>
          <value code="0">Report Only</value>
          <value code="1">RTL or Land</value>
          <value code="2">Always Land</value>
          <value code="3">SmartRTL or RTL or Land</value>
          <value code="4">Brake or Land</value>
          <value code="5">SmartRTL or Land</value>
        </values>
      </param>
      <param humanName="Fence Maximum Altitude" name="FENCE_ALT_MAX" documentation="Maximum altitude allowed before geofence triggers" user="Standard">
        <field name="Range">10 1000</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Circular Fence Radius" name="FENCE_RADIUS" documentation="Circle fence radius which when breached will cause an RTL" user="Standard">
        <field name="Range">30 10000</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Fence Margin" name="FENCE_MARGIN" documentation="Distance that autopilot's should maintain from the fence to avoid a breach" user="Standard">
        <field name="Range">1 10</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Fence polygon point total" name="FENCE_TOTAL" documentation="Number of polygon points saved in eeprom (do not update manually)" user="Standard">
        <field name="Range">1 20</field>
      </param>
      <param humanName="Fence Minimum Altitude" name="FENCE_ALT_MIN" documentation="Minimum altitude allowed before geofence triggers" user="Standard">
        <field name="Range">-100 100</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="FFT_">
      <param humanName="Enable" name="FFT_ENABLE" documentation="Enable Gyro FFT analyser" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Minimum Frequency" name="FFT_MINHZ" documentation="Lower bound of FFT frequency detection in Hz. On larger vehicles the minimum motor frequency is likely to be significantly lower than for smaller vehicles." user="Advanced">
        <field name="Range">20 400</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Maximum Frequency" name="FFT_MAXHZ" documentation="Upper bound of FFT frequency detection in Hz. On smaller vehicles the maximum motor frequency is likely to be significantly higher than for larger vehicles." user="Advanced">
        <field name="Range">20 495</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Sample Mode" name="FFT_SAMPLE_MODE" documentation="Sampling mode (and therefore rate). 0: Gyro rate sampling, 1: Fast loop rate sampling, 2: Fast loop rate / 2 sampling, 3: Fast loop rate / 3 sampling. Takes effect on reboot." user="Advanced">
        <field name="Range">0 4</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="FFT window size" name="FFT_WINDOW_SIZE" documentation="Size of window to be used in FFT calculations. Takes effect on reboot. Must be a power of 2 and between 32 and 512. Larger windows give greater frequency resolution but poorer time resolution, consume more CPU time and may not be appropriate for all vehicles. Time and frequency resolution are given by the sample-rate / window-size. Windows of 256 are only really recommended for F7 class boards, windows of 512 or more H7 class." user="Advanced">
        <field name="Range">32 1024</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="FFT window overlap" name="FFT_WINDOW_OLAP" documentation="Percentage of window to be overlapped before another frame is process. Takes effect on reboot. A good default is 50% overlap. Higher overlap results in more processed frames but not necessarily more temporal resolution. Lower overlap results in lost information at the frame edges." user="Advanced">
        <field name="Range">0 0.9</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="FFT learned hover frequency" name="FFT_FREQ_HOVER" documentation="The learned hover noise frequency" user="Advanced">
        <field name="Range">0 250</field>
      </param>
      <param humanName="FFT learned thrust reference" name="FFT_THR_REF" documentation="FFT learned thrust reference for the hover frequency and FFT minimum frequency." user="Advanced">
        <field name="Range">0.01 0.9</field>
      </param>
      <param humanName="FFT SNR reference threshold" name="FFT_SNR_REF" documentation="FFT SNR reference threshold in dB at which a signal is determined to be present." user="Advanced">
        <field name="Range">0.0 100.0</field>
      </param>
      <param humanName="FFT attenuation for bandwidth calculation" name="FFT_ATT_REF" documentation="FFT attenuation level in dB for bandwidth calculation and peak detection. The bandwidth is calculated by comparing peak power output with the attenuated version. The default of 15 has shown to be a good compromise in both simulations and real flight." user="Advanced">
        <field name="Range">0 100</field>
      </param>
      <param humanName="FFT learned bandwidth at hover" name="FFT_BW_HOVER" documentation="FFT learned bandwidth at hover for the attenuation frequencies." user="Advanced">
        <field name="Range">0 200</field>
      </param>
      <param humanName="FFT harmonic fit frequency threshold" name="FFT_HMNC_FIT" documentation="FFT harmonic fit frequency threshold percentage at which a signal of the appropriate frequency is determined to be the harmonic of another. Signals that have a harmonic relationship that varies at most by this percentage are considered harmonics of each other for the purpose of selecting the harmonic notch frequency. If a match is found then the lower frequency harmonic is always used as the basis for the dynamic harmonic notch. A value of zero completely disables harmonic matching." user="Advanced">
        <field name="Range">0 100</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="FFT harmonic peak target" name="FFT_HMNC_PEAK" documentation="The FFT harmonic peak target that should be returned by FTN1.PkAvg. The resulting value will be used by the harmonic notch if configured to track the FFT frequency. By default the appropriate peak is auto-detected based on the harmonic fit between peaks and the energy-weighted average frequency on roll on pitch is used. Setting this to 1 will always target the highest energy peak. Setting this to 2 will target the highest energy peak that is lower in frequency than the highest energy peak. Setting this to 3 will target the highest energy peak that is higher in frequency than the highest energy peak. Setting this to 4 will target the highest energy peak on the roll axis only and only the roll frequency will be used (some vehicles have a much more pronounced peak on roll). Setting this to 5 will target the highest energy peak on the pitch axis only and only the pitch frequency will be used (some vehicles have a much more pronounced peak on roll)." user="Advanced">
        <values>
          <value code="0">Auto</value>
          <value code="1">Center Frequency</value>
          <value code="2">Lower-Shoulder Frequency</value>
          <value code="3">Upper-Shoulder Frequency</value>
          <value code="4">Roll-Axis</value>
          <value code="5">Pitch-Axis</value>
        </values>
      </param>
    </parameters>
    <parameters name="FHLD">
      <param humanName="FlowHold P gain" name="FHLD_XY_P" documentation="FlowHold (horizontal) P gain." user="Advanced">
        <field name="Range">0.1 6.0</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="FlowHold I gain" name="FHLD_XY_I" documentation="FlowHold (horizontal) I gain" user="Advanced">
        <field name="Range">0.02 1.00</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="FlowHold Integrator Max" name="FHLD_XY_IMAX" documentation="FlowHold (horizontal) integrator maximum" user="Advanced">
        <field name="Range">0 4500</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="FlowHold filter on input to control" name="FHLD_XY_FILT_HZ" documentation="FlowHold (horizontal) filter on input to control" user="Advanced">
        <field name="Range">0 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="FlowHold Flow Rate Max" name="FHLD_FLOW_MAX" documentation="Controls maximum apparent flow rate in flowhold" user="Standard">
        <field name="Range">0.1 2.5</field>
      </param>
      <param humanName="FlowHold Filter Frequency" name="FHLD_FILT_HZ" documentation="Filter frequency for flow data" user="Standard">
        <field name="Range">1 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="FlowHold Flow quality minimum" name="FHLD_QUAL_MIN" documentation="Minimum flow quality to use flow position hold" user="Standard">
        <field name="Range">0 255</field>
      </param>
      <param humanName="FlowHold Braking rate" name="FHLD_BRAKE_RATE" documentation="Controls deceleration rate on stick release" user="Standard">
        <field name="Range">1 30</field>
        <field name="Units">deg/s</field>
        <field name="UnitText">degrees per second</field>
      </param>
    </parameters>
    <parameters name="FLOW">
      <param humanName="Optical flow sensor type" name="FLOW_TYPE" documentation="Optical flow sensor type" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">PX4Flow</value>
          <value code="2">Pixart</value>
          <value code="3">Bebop</value>
          <value code="4">CXOF</value>
          <value code="5">MAVLink</value>
          <value code="6">DroneCAN</value>
          <value code="7">MSP</value>
          <value code="8">UPFLOW</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="X axis optical flow scale factor correction" name="FLOW_FXSCALER" documentation="This sets the parts per thousand scale factor correction applied to the flow sensor X axis optical rate. It can be used to correct for variations in effective focal length. Each positive increment of 1 increases the scale factor applied to the X axis optical flow reading by 0.1%. Negative values reduce the scale factor." user="Standard">
        <field name="Range">-200 +200</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Y axis optical flow scale factor correction" name="FLOW_FYSCALER" documentation="This sets the parts per thousand scale factor correction applied to the flow sensor Y axis optical rate. It can be used to correct for variations in effective focal length. Each positive increment of 1 increases the scale factor applied to the Y axis optical flow reading by 0.1%. Negative values reduce the scale factor." user="Standard">
        <field name="Range">-200 +200</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Flow sensor yaw alignment" name="FLOW_ORIENT_YAW" documentation="Specifies the number of centi-degrees that the flow sensor is yawed relative to the vehicle. A sensor with its X-axis pointing to the right of the vehicle X axis has a positive yaw angle." user="Standard">
        <field name="Range">-17999 +18000</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName=" X position offset" name="FLOW_POS_X" documentation="X position of the optical flow sensor focal point in body frame. Positive X is forward of the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="FLOW_POS_Y" documentation="Y position of the optical flow sensor focal point in body frame. Positive Y is to the right of the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="FLOW_POS_Z" documentation="Z position of the optical flow sensor focal point in body frame. Positive Z is down from the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Address on the bus" name="FLOW_ADDR" documentation="This is used to select between multiple possible I2C addresses for some sensor types. For PX4Flow you can choose 0 to 7 for the 8 possible addresses on the I2C bus." user="Advanced">
        <field name="Range">0 127</field>
      </param>
    </parameters>
    <parameters name="FOLL">
      <param humanName="Follow enable/disable" name="FOLL_ENABLE" documentation="Enabled/disable following a target" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Follow target's mavlink system id" name="FOLL_SYSID" documentation="Follow target's mavlink system id" user="Standard">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Follow distance maximum" name="FOLL_DIST_MAX" documentation="Follow distance maximum.  targets further than this will be ignored" user="Standard">
        <field name="Range">1 1000</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Follow offset type" name="FOLL_OFS_TYPE" documentation="Follow offset type" user="Standard">
        <values>
          <value code="0">North-East-Down</value>
          <value code="1">Relative to lead vehicle heading</value>
        </values>
      </param>
      <param humanName="Follow offsets in meters north/forward" name="FOLL_OFS_X" documentation="Follow offsets in meters north/forward.  If positive, this vehicle fly ahead or north of lead vehicle.  Depends on FOLL_OFS_TYPE" user="Standard">
        <field name="Range">-100 100</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Follow offsets in meters east/right" name="FOLL_OFS_Y" documentation="Follow offsets in meters east/right.  If positive, this vehicle will fly to the right or east of lead vehicle.  Depends on FOLL_OFS_TYPE" user="Standard">
        <field name="Range">-100 100</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Follow offsets in meters down" name="FOLL_OFS_Z" documentation="Follow offsets in meters down.  If positive, this vehicle will fly below the lead vehicle" user="Standard">
        <field name="Range">-100 100</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Follow yaw behaviour" name="FOLL_YAW_BEHAVE" documentation="Follow yaw behaviour" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Face Lead Vehicle</value>
          <value code="2">Same as Lead vehicle</value>
          <value code="3">Direction of Flight</value>
        </values>
      </param>
      <param humanName="Follow position error P gain" name="FOLL_POS_P" documentation="Follow position error P gain.  Converts the difference between desired vertical speed and actual speed into a desired acceleration that is passed to the throttle acceleration controller" user="Standard">
        <field name="Range">0.01 1.00</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Follow altitude type" name="FOLL_ALT_TYPE" documentation="Follow altitude type" user="Standard">
        <values>
          <value code="0">absolute</value>
          <value code="1">relative</value>
        </values>
      </param>
    </parameters>
    <parameters name="FRSKY_">
      <param humanName="Uplink sensor id" name="FRSKY_UPLINK_ID" documentation="Change the uplink sensor id (SPort only)" user="Advanced">
        <values>
          <value code="-1">Disable</value>
          <value code="7">7</value>
          <value code="8">8</value>
          <value code="9">9</value>
          <value code="10">10</value>
          <value code="11">11</value>
          <value code="12">12</value>
          <value code="13">13</value>
          <value code="14">14</value>
          <value code="15">15</value>
          <value code="16">16</value>
          <value code="17">17</value>
          <value code="18">18</value>
          <value code="19">19</value>
          <value code="20">20</value>
          <value code="21">21</value>
          <value code="22">22</value>
          <value code="23">23</value>
          <value code="24">24</value>
          <value code="25">25</value>
          <value code="26">26</value>
        </values>
      </param>
      <param humanName="First downlink sensor id" name="FRSKY_DNLINK1_ID" documentation="Change the first extra downlink sensor id (SPort only)" user="Advanced">
        <values>
          <value code="-1">Disable</value>
          <value code="7">7</value>
          <value code="8">8</value>
          <value code="9">9</value>
          <value code="10">10</value>
          <value code="11">11</value>
          <value code="12">12</value>
          <value code="13">13</value>
          <value code="14">14</value>
          <value code="15">15</value>
          <value code="16">16</value>
          <value code="17">17</value>
          <value code="18">18</value>
          <value code="19">19</value>
          <value code="20">20</value>
          <value code="21">21</value>
          <value code="22">22</value>
          <value code="23">23</value>
          <value code="24">24</value>
          <value code="25">25</value>
          <value code="26">26</value>
        </values>
      </param>
      <param humanName="Second downlink sensor id" name="FRSKY_DNLINK2_ID" documentation="Change the second extra downlink sensor id (SPort only)" user="Advanced">
        <values>
          <value code="-1">Disable</value>
          <value code="7">7</value>
          <value code="8">8</value>
          <value code="9">9</value>
          <value code="10">10</value>
          <value code="11">11</value>
          <value code="12">12</value>
          <value code="13">13</value>
          <value code="14">14</value>
          <value code="15">15</value>
          <value code="16">16</value>
          <value code="17">17</value>
          <value code="18">18</value>
          <value code="19">19</value>
          <value code="20">20</value>
          <value code="21">21</value>
          <value code="22">22</value>
          <value code="23">23</value>
          <value code="24">24</value>
          <value code="25">25</value>
          <value code="26">26</value>
        </values>
      </param>
      <param humanName="Default downlink sensor id" name="FRSKY_DNLINK_ID" documentation="Change the default downlink sensor id (SPort only)" user="Advanced">
        <values>
          <value code="-1">Disable</value>
          <value code="7">7</value>
          <value code="8">8</value>
          <value code="9">9</value>
          <value code="10">10</value>
          <value code="11">11</value>
          <value code="12">12</value>
          <value code="13">13</value>
          <value code="14">14</value>
          <value code="15">15</value>
          <value code="16">16</value>
          <value code="17">17</value>
          <value code="18">18</value>
          <value code="19">19</value>
          <value code="20">20</value>
          <value code="21">21</value>
          <value code="22">22</value>
          <value code="23">23</value>
          <value code="24">24</value>
          <value code="25">25</value>
          <value code="26">26</value>
          <value code="27">27</value>
        </values>
      </param>
      <param humanName="FRSky Telemetry Options" name="FRSKY_OPTIONS" documentation="A bitmask to set some FRSky Telemetry specific options" user="Standard">
        <field name="Bitmask">0:EnableAirspeedAndGroundspeed</field>
      </param>
    </parameters>
    <parameters name="GEN_">
      <param humanName="Generator type" name="GEN_TYPE" documentation="Generator type" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">IE 650w 800w Fuel Cell</value>
          <value code="2">IE 2.4kW Fuel Cell</value>
          <value code="3">Richenpower</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="GPS">
      <param humanName="1st GPS type" name="GPS_TYPE" documentation="GPS type of 1st GPS" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">AUTO</value>
          <value code="2">uBlox</value>
          <value code="5">NMEA</value>
          <value code="6">SiRF</value>
          <value code="7">HIL</value>
          <value code="8">SwiftNav</value>
          <value code="9">DroneCAN</value>
          <value code="10">SBF</value>
          <value code="11">GSOF</value>
          <value code="13">ERB</value>
          <value code="14">MAV</value>
          <value code="15">NOVA</value>
          <value code="16">HemisphereNMEA</value>
          <value code="17">uBlox-MovingBaseline-Base</value>
          <value code="18">uBlox-MovingBaseline-Rover</value>
          <value code="19">MSP</value>
          <value code="20">AllyStar</value>
          <value code="21">ExternalAHRS</value>
          <value code="22">DroneCAN-MovingBaseline-Base</value>
          <value code="23">DroneCAN-MovingBaseline-Rover</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="2nd GPS type" name="GPS_TYPE2" documentation="GPS type of 2nd GPS" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">AUTO</value>
          <value code="2">uBlox</value>
          <value code="5">NMEA</value>
          <value code="6">SiRF</value>
          <value code="7">HIL</value>
          <value code="8">SwiftNav</value>
          <value code="9">DroneCAN</value>
          <value code="10">SBF</value>
          <value code="11">GSOF</value>
          <value code="13">ERB</value>
          <value code="14">MAV</value>
          <value code="15">NOVA</value>
          <value code="16">HemisphereNMEA</value>
          <value code="17">uBlox-MovingBaseline-Base</value>
          <value code="18">uBlox-MovingBaseline-Rover</value>
          <value code="19">MSP</value>
          <value code="20">AllyStar</value>
          <value code="21">ExternalAHRS</value>
          <value code="22">DroneCAN-MovingBaseline-Base</value>
          <value code="23">DroneCAN-MovingBaseline-Rover</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Navigation filter setting" name="GPS_NAVFILTER" documentation="Navigation filter engine setting" user="Advanced">
        <values>
          <value code="0">Portable</value>
          <value code="2">Stationary</value>
          <value code="3">Pedestrian</value>
          <value code="4">Automotive</value>
          <value code="5">Sea</value>
          <value code="6">Airborne1G</value>
          <value code="7">Airborne2G</value>
          <value code="8">Airborne4G</value>
        </values>
      </param>
      <param humanName="Automatic Switchover Setting" name="GPS_AUTO_SWITCH" documentation="Automatic switchover to GPS reporting best lock, 1:UseBest selects the GPS with highest status, if both are equal the GPS with highest satellite count is used 4:Use primary if 3D fix or better, will revert to 'UseBest' behaviour if 3D fix is lost on primary" user="Advanced">
        <values>
          <value code="0">Use primary</value>
          <value code="1">UseBest</value>
          <value code="2">Blend</value>
          <value code="4">Use primary if 3D fix or better</value>
        </values>
      </param>
      <param humanName="Minimum Lock Type Accepted for DGPS" name="GPS_MIN_DGPS" documentation="Sets the minimum type of differential GPS corrections required before allowing to switch into DGPS mode." user="Advanced">
        <values>
          <value code="0">Any</value>
          <value code="50">FloatRTK</value>
          <value code="100">IntegerRTK</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="SBAS Mode" name="GPS_SBAS_MODE" documentation="This sets the SBAS (satellite based augmentation system) mode if available on this GPS. If set to 2 then the SBAS mode is not changed in the GPS. Otherwise the GPS will be reconfigured to enable/disable SBAS. Disabling SBAS may be worthwhile in some parts of the world where an SBAS signal is available but the baseline is too long to be useful." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">NoChange</value>
        </values>
      </param>
      <param humanName="Minimum elevation" name="GPS_MIN_ELEV" documentation="This sets the minimum elevation of satellites above the horizon for them to be used for navigation. Setting this to -100 leaves the minimum elevation set to the GPS modules default." user="Advanced">
        <field name="Range">-100 90</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Destination for GPS_INJECT_DATA MAVLink packets" name="GPS_INJECT_TO" documentation="The GGS can send raw serial packets to inject data to multiple GPSes." user="Advanced">
        <values>
          <value code="0">send to first GPS</value>
          <value code="1">send to 2nd GPS</value>
          <value code="127">send to all</value>
        </values>
      </param>
      <param humanName="Swift Binary Protocol Logging Mask" name="GPS_SBP_LOGMASK" documentation="Masked with the SBP msg_type field to determine whether SBR1/SBR2 data is logged" user="Advanced">
        <values>
          <value code="0">None (0x0000)</value>
          <value code="-1">All (0xFFFF)</value>
          <value code="-256">External only (0xFF00)</value>
        </values>
      </param>
      <param humanName="Raw data logging" name="GPS_RAW_DATA" documentation="Handles logging raw data; on uBlox chips that support raw data this will log RXM messages into logger; on Septentrio this will log on the equipment's SD card and when set to 2, the autopilot will try to stop logging after disarming and restart after arming" user="Advanced">
        <values>
          <value code="0">Ignore</value>
          <value code="1">Always log</value>
          <value code="2">Stop logging when disarmed (SBF only)</value>
          <value code="5">Only log every five samples (uBlox only)</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="GNSS system configuration" name="GPS_GNSS_MODE" documentation="Bitmask for what GNSS system to use on the first GPS (all unchecked or zero to leave GPS as configured)" user="Advanced">
        <field name="Bitmask">0:GPS,1:SBAS,2:Galileo,3:Beidou,4:IMES,5:QZSS,6:GLONASS</field>
      </param>
      <param humanName="Save GPS configuration" name="GPS_SAVE_CFG" documentation="Determines whether the configuration for this GPS should be written to non-volatile memory on the GPS. Currently working for UBlox 6 series and above." user="Advanced">
        <values>
          <value code="0">Do not save config</value>
          <value code="1">Save config</value>
          <value code="2">Save only when needed</value>
        </values>
      </param>
      <param humanName="GNSS system configuration" name="GPS_GNSS_MODE2" documentation="Bitmask for what GNSS system to use on the second GPS (all unchecked or zero to leave GPS as configured)" user="Advanced">
        <field name="Bitmask">0:GPS,1:SBAS,2:Galileo,3:Beidou,4:IMES,5:QZSS,6:GLONASS</field>
      </param>
      <param humanName="Automatic GPS configuration" name="GPS_AUTO_CONFIG" documentation="Controls if the autopilot should automatically configure the GPS based on the parameters and default settings" user="Advanced">
        <values>
          <value code="0">Disables automatic configuration</value>
          <value code="1">Enable automatic configuration for Serial GPSes only</value>
          <value code="2">Enable automatic configuration for DroneCAN as well</value>
        </values>
      </param>
      <param humanName="GPS update rate in milliseconds" name="GPS_RATE_MS" documentation="Controls how often the GPS should provide a position update. Lowering below 5Hz(default) is not allowed. Raising the rate above 5Hz usually provides little benefit and for some GPS (eg Ublox M9N) can severely impact performance." user="Advanced">
        <field name="Range">50 200</field>
        <values>
          <value code="100">10Hz</value>
          <value code="125">8Hz</value>
          <value code="200">5Hz</value>
        </values>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="GPS 2 update rate in milliseconds" name="GPS_RATE_MS2" documentation="Controls how often the GPS should provide a position update. Lowering below 5Hz(default) is not allowed. Raising the rate above 5Hz usually provides little benefit and for some GPS (eg Ublox M9N) can severely impact performance." user="Advanced">
        <field name="Range">50 200</field>
        <values>
          <value code="100">10Hz</value>
          <value code="125">8Hz</value>
          <value code="200">5Hz</value>
        </values>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="Antenna X position offset" name="GPS_POS1_X" documentation="X position of the first GPS antenna in body frame. Positive X is forward of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Antenna Y position offset" name="GPS_POS1_Y" documentation="Y position of the first GPS antenna in body frame. Positive Y is to the right of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Antenna Z position offset" name="GPS_POS1_Z" documentation="Z position of the first GPS antenna in body frame. Positive Z is down from the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Antenna X position offset" name="GPS_POS2_X" documentation="X position of the second GPS antenna in body frame. Positive X is forward of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Antenna Y position offset" name="GPS_POS2_Y" documentation="Y position of the second GPS antenna in body frame. Positive Y is to the right of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Antenna Z position offset" name="GPS_POS2_Z" documentation="Z position of the second GPS antenna in body frame. Positive Z is down from the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="GPS delay in milliseconds" name="GPS_DELAY_MS" documentation="Controls the amount of GPS  measurement delay that the autopilot compensates for. Set to zero to use the default delay for the detected GPS type." user="Advanced">
        <field name="Range">0 250</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="GPS 2 delay in milliseconds" name="GPS_DELAY_MS2" documentation="Controls the amount of GPS  measurement delay that the autopilot compensates for. Set to zero to use the default delay for the detected GPS type." user="Advanced">
        <field name="Range">0 250</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Multi GPS Blending Mask" name="GPS_BLEND_MASK" documentation="Determines which of the accuracy measures Horizontal position, Vertical Position and Speed are used to calculate the weighting on each GPS receiver when soft switching has been selected by setting GPS_AUTO_SWITCH to 2(Blend)" user="Advanced">
        <field name="Bitmask">0:Horiz Pos,1:Vert Pos,2:Speed</field>
      </param>
      <param humanName="Blending time constant" name="GPS_BLEND_TC" documentation="Controls the slowest time constant applied to the calculation of GPS position and height offsets used to adjust different GPS receivers for steady state position differences." user="Advanced">
        <field name="Range">5.0 30.0</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="driver options" name="GPS_DRV_OPTIONS" documentation="Additional backend specific options" user="Advanced">
        <field name="Bitmask">0:Use UART2 for moving baseline on ublox,1:Use base station for GPS yaw on SBF,2:Use baudrate 115200,3:Use dedicated CAN port b/w GPSes for moving baseline</field>
      </param>
      <param humanName="GPS physical COM port" name="GPS_COM_PORT" documentation="The physical COM port on the connected device, currently only applies to SBF GPS" user="Advanced">
        <field name="Range">0 10</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="GPS physical COM port" name="GPS_COM_PORT2" documentation="The physical COM port on the connected device, currently only applies to SBF GPS" user="Advanced">
        <field name="Range">0 10</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Primary GPS" name="GPS_PRIMARY" documentation="This GPS will be used when GPS_AUTO_SWITCH is 0 and used preferentially with GPS_AUTO_SWITCH = 4." user="Advanced">
        <values>
          <value code="0">FirstGPS</value>
          <value code="1">SecondGPS</value>
        </values>
        <field name="Increment">1</field>
      </param>
      <param humanName="GPS Node ID 1" name="GPS_CAN_NODEID1" documentation="GPS Node id for discovered first." user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="GPS Node ID 2" name="GPS_CAN_NODEID2" documentation="GPS Node id for discovered second." user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="First DroneCAN GPS NODE ID" name="GPS1_CAN_OVRIDE" documentation="GPS Node id for first GPS. If 0 the gps will be automatically selected on first come basis." user="Advanced">
</param>
      <param humanName="Second DroneCAN GPS NODE ID" name="GPS2_CAN_OVRIDE" documentation="GPS Node id for second GPS. If 0 the gps will be automatically selected on first come basis." user="Advanced">
</param>
    </parameters>
    <parameters name="GPS_MB1_">
      <param humanName="Moving base type" name="GPS_MB1_TYPE" documentation="Controls the type of moving base used if using moving base." user="Advanced">
        <values>
          <value code="0">Relative to alternate GPS instance</value>
          <value code="1">RelativeToCustomBase</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Base antenna X position offset" name="GPS_MB1_OFS_X" documentation="X position of the base GPS antenna in body frame. Positive X is forward of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Base antenna Y position offset    " name="GPS_MB1_OFS_Y" documentation="Y position of the base GPS antenna in body frame. Positive Y is to the right of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Base antenna Z position offset" name="GPS_MB1_OFS_Z" documentation="Z position of the base GPS antenna in body frame. Positive Z is down from the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="GPS_MB2_">
      <param humanName="Moving base type" name="GPS_MB2_TYPE" documentation="Controls the type of moving base used if using moving base." user="Advanced">
        <values>
          <value code="0">Relative to alternate GPS instance</value>
          <value code="1">RelativeToCustomBase</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Base antenna X position offset" name="GPS_MB2_OFS_X" documentation="X position of the base GPS antenna in body frame. Positive X is forward of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Base antenna Y position offset    " name="GPS_MB2_OFS_Y" documentation="Y position of the base GPS antenna in body frame. Positive Y is to the right of the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Base antenna Z position offset" name="GPS_MB2_OFS_Z" documentation="Z position of the base GPS antenna in body frame. Positive Z is down from the origin. Use antenna phase centroid location if provided by the manufacturer." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="GRIP_">
      <param humanName="Gripper Enable/Disable" name="GRIP_ENABLE" documentation="Gripper enable/disable" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Gripper Type" name="GRIP_TYPE" documentation="Gripper enable/disable" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Servo</value>
          <value code="2">EPM</value>
        </values>
      </param>
      <param humanName="Gripper Grab PWM" name="GRIP_GRAB" documentation="PWM value in microseconds sent to Gripper to initiate grabbing the cargo" user="Advanced">
        <field name="Range">1000 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Gripper Release PWM" name="GRIP_RELEASE" documentation="PWM value in microseconds sent to Gripper to release the cargo" user="Advanced">
        <field name="Range">1000 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Neutral PWM" name="GRIP_NEUTRAL" documentation="PWM value in microseconds sent to grabber when not grabbing or releasing" user="Advanced">
        <field name="Range">1000 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Gripper Regrab interval" name="GRIP_REGRAB" documentation="Time in seconds that gripper will regrab the cargo to ensure grip has not weakened; 0 to disable" user="Advanced">
        <field name="Range">0 255</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="EPM UAVCAN Hardpoint ID" name="GRIP_CAN_ID" documentation="Refer to https://docs.zubax.com/opengrab_epm_v3#UAVCAN_interface" user="Standard">
        <field name="Range">0 255</field>
      </param>
    </parameters>
    <parameters name="H_">
      <param humanName="Tail Type" name="H_TAIL_TYPE" documentation="Tail type selection.  Simpler yaw controller used if external gyro is selected. Direct Drive Variable Pitch is used for tails that have a motor that is governed at constant speed by an ESC.  Tail pitch is still accomplished with a servo.  Direct Drive Fixed Pitch (DDFP) CW is used for helicopters with a rotor that spins clockwise when viewed from above. Direct Drive Fixed Pitch (DDFP) CCW is used for helicopters with a rotor that spins counter clockwise when viewed from above. In both DDFP cases, no servo is used for the tail and the tail motor esc is controlled by the yaw axis." user="Standard">
        <values>
          <value code="0">Servo only</value>
          <value code="1">Servo with ExtGyro</value>
          <value code="2">DirectDrive VarPitch</value>
          <value code="3">DirectDrive FixedPitch CW</value>
          <value code="4">DirectDrive FixedPitch CCW</value>
          <value code="5">DDVP with external governor</value>
        </values>
      </param>
      <param humanName="External Gyro Gain" name="H_GYR_GAIN" documentation="PWM in microseconds sent to external gyro on ch7 when tail type is Servo w/ ExtGyro" user="Standard">
        <field name="Range">0 1000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Collective-Yaw Mixing" name="H_COLYAW" documentation="Feed-forward compensation to automatically add rudder input when collective pitch is increased. Can be positive or negative depending on mechanics." user="Standard">
        <field name="Range">-10 10</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Flybar Mode Selector" name="H_FLYBAR_MODE" documentation="Flybar present or not.  Affects attitude controller used during ACRO flight mode" user="Standard">
        <values>
          <value code="0">NoFlybar</value>
          <value code="1">Flybar</value>
        </values>
      </param>
      <param humanName="DDVP Tail ESC speed" name="H_TAIL_SPEED" documentation="Direct drive, variable pitch tail ESC speed in percent output to the tail motor esc (HeliTailRSC Servo) when motor interlock enabled (throttle hold off)." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="ACRO External Gyro Gain" name="H_GYR_GAIN_ACRO" documentation="PWM in microseconds sent to external gyro on ch7 when tail type is Servo w/ ExtGyro. A value of zero means to use H_GYR_GAIN" user="Standard">
        <field name="Range">0 1000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Swashplate Type" name="H_SW_TYPE" documentation="H3 is generic, three-servo only. H3_120/H3_140 plates have Motor1 left side, Motor2 right side, Motor3 elevator in rear. HR3_120/HR3_140 have Motor1 right side, Motor2 left side, Motor3 elevator in front - use H3_120/H3_140 and reverse servo and collective directions as necessary. For all H3_90 swashplates use H4_90 and don't use servo output for the missing servo. For H4-90 Motors1&amp;2 are left/right respectively, Motors3&amp;4 are rear/front respectively. For H4-45 Motors1&amp;2 are LF/RF, Motors3&amp;4 are LR/RR " user="Standard">
        <values>
          <value code="0">H3 Generic</value>
          <value code="1">H1 non-CPPM</value>
          <value code="2">H3_140</value>
          <value code="3">H3_120</value>
          <value code="4">H4_90</value>
          <value code="5">H4_45</value>
        </values>
      </param>
      <param humanName="Collective Direction" name="H_SW_COL_DIR" documentation="Direction collective moves for positive pitch. 0 for Normal, 1 for Reversed" user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Linearize Swash Servos" name="H_SW_LIN_SVO" documentation="This linearizes the swashplate servo's mechanical output to account for nonlinear output due to arm rotation.  This requires a specific setup procedure to work properly.  The servo arm must be centered on the mechanical throw at the servo trim position and the servo trim position kept as close to 1500 as possible. Leveling the swashplate can only be done through the pitch links.  See the ardupilot wiki for more details on setup." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="H3 Generic Enable" name="H_SW_H3_ENABLE" documentation="Automatically set when H3 generic swash type is selected for swashplate. Do not set manually." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="H3 Generic Servo 1 Position" name="H_SW_H3_SV1_POS" documentation="Azimuth position on swashplate for servo 1 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="H3 Generic Servo 2 Position" name="H_SW_H3_SV2_POS" documentation="Azimuth position on swashplate for servo 2 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="H3 Generic Servo 3 Position" name="H_SW_H3_SV3_POS" documentation="Azimuth position on swashplate for servo 3 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="H3 Generic Phase Angle Comp" name="H_SW_H3_PHANG" documentation="Only for H3 swashplate.  If pitching the swash forward induces a roll, this can be correct the problem" user="Advanced">
        <field name="Range">-30 30</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Dual Mode" name="H_DUAL_MODE" documentation="Sets the dual mode of the heli, either as tandem or as transverse." user="Standard">
        <values>
          <value code="0">Longitudinal</value>
          <value code="1">Transverse</value>
          <value code="2">Intermeshing</value>
        </values>
      </param>
      <param humanName="Differential-Collective-Pitch Scaler" name="H_DCP_SCALER" documentation="Scaling factor applied to the differential-collective-pitch" user="Standard">
        <field name="Range">0 1</field>
      </param>
      <param humanName="Differential-Collective-Pitch Yaw Mixing" name="H_DCP_YAW" documentation="Feed-forward compensation to automatically add yaw input when differential collective pitch is applied.  Disabled for intermeshing mode." user="Standard">
        <field name="Range">-10 10</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Scaler for yaw mixing" name="H_YAW_SCALER" documentation="Scaler for mixing yaw into roll or pitch." user="Standard">
        <field name="Range">-10 10</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Swash 2 Minimum Collective Pitch" name="H_COL2_MIN" documentation="Lowest possible servo position in PWM microseconds for swashplate 2" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Swash 2 Maximum Collective Pitch" name="H_COL2_MAX" documentation="Highest possible servo position in PWM microseconds for swashplate 2" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Swash 1 Type" name="H_SW_TYPE" documentation="H3 is generic, three-servo only. H3_120/H3_140 plates have Motor1 left side, Motor2 right side, Motor3 elevator in rear. HR3_120/HR3_140 have Motor1 right side, Motor2 left side, Motor3 elevator in front - use H3_120/H3_140 and reverse servo and collective directions as necessary. For all H3_90 swashplates use H4_90 and don't use servo output for the missing servo. For H4-90 Motors1&amp;2 are left/right respectively, Motors3&amp;4 are rear/front respectively. For H4-45 Motors1&amp;2 are LF/RF, Motors3&amp;4 are LR/RR " user="Standard">
        <values>
          <value code="0">H3 Generic</value>
          <value code="1">H1 non-CPPM</value>
          <value code="2">H3_140</value>
          <value code="3">H3_120</value>
          <value code="4">H4_90</value>
          <value code="5">H4_45</value>
        </values>
      </param>
      <param humanName="Swash 1 Collective Direction" name="H_SW_COL_DIR" documentation="Direction collective moves for positive pitch. 0 for Normal, 1 for Reversed" user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Linearize Swash 1 Servos" name="H_SW_LIN_SVO" documentation="This linearizes the swashplate 1 servo's mechanical output to account for nonlinear output due to arm rotation.  This requires a specific setup procedure to work properly.  The servo arm must be centered on the mechanical throw at the servo trim position and the servo trim position kept as close to 1500 as possible. Leveling the swashplate can only be done through the pitch links.  See the ardupilot wiki for more details on setup." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Swash 1 H3 Generic Enable" name="H_SW_H3_ENABLE" documentation="Automatically set when H3 generic swash type is selected for swashplate 1. Do not set manually." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Swash 1 H3 Generic Servo 1 Position" name="H_SW_H3_SV1_POS" documentation="Azimuth position on swashplate for servo 1 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Swash 1 H3 Generic Servo 2 Position" name="H_SW_H3_SV2_POS" documentation="Azimuth position on swashplate 1 for servo 2 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Swash 1 H3 Generic Servo 3 Position" name="H_SW_H3_SV3_POS" documentation="Azimuth position on swashplate 1 for servo 3 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Swash 1 H3 Generic Phase Angle Comp" name="H_SW_H3_PHANG" documentation="Only for H3 swashplate.  If pitching the swash forward induces a roll, this can be correct the problem" user="Advanced">
        <field name="Range">-30 30</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Swash 2 Type" name="H_SW2_TYPE" documentation="H3 is generic, three-servo only. H3_120/H3_140 plates have Motor1 left side, Motor2 right side, Motor3 elevator in rear. HR3_120/HR3_140 have Motor1 right side, Motor2 left side, Motor3 elevator in front - use H3_120/H3_140 and reverse servo and collective directions as necessary. For all H3_90 swashplates use H4_90 and don't use servo output for the missing servo. For H4-90 Motors1&amp;2 are left/right respectively, Motors3&amp;4 are rear/front respectively. For H4-45 Motors1&amp;2 are LF/RF, Motors3&amp;4 are LR/RR " user="Standard">
        <values>
          <value code="0">H3 Generic</value>
          <value code="1">H1 non-CPPM</value>
          <value code="2">H3_140</value>
          <value code="3">H3_120</value>
          <value code="4">H4_90</value>
          <value code="5">H4_45</value>
        </values>
      </param>
      <param humanName="Swash 2 Collective Direction" name="H_SW2_COL_DIR" documentation="Direction collective moves for positive pitch. 0 for Normal, 1 for Reversed" user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Linearize Swash 2 Servos" name="H_SW2_LIN_SVO" documentation="This linearizes the swashplate 2 servo's mechanical output to account for nonlinear output due to arm rotation.  This requires a specific setup procedure to work properly.  The servo arm must be centered on the mechanical throw at the servo trim position and the servo trim position kept as close to 1500 as possible. Leveling the swashplate can only be done through the pitch links.  See the ardupilot wiki for more details on setup." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Swash 2 H3 Generic Enable" name="H_SW2_H3_ENABLE" documentation="Automatically set when H3 generic swash type is selected for swashplate 2. Do not set manually." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Swash 2 H3 Generic Servo 1 Position" name="H_SW2_H3_SV1_POS" documentation="Azimuth position on swashplate for servo 1 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Swash 2 H3 Generic Servo 2 Position" name="H_SW2_H3_SV2_POS" documentation="Azimuth position on swashplate 2 for servo 2 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Swash 2 H3 Generic Servo 3 Position" name="H_SW2_H3_SV3_POS" documentation="Azimuth position on swashplate 2 for servo 3 with the front of the heli being 0 deg" user="Advanced">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Swash 2 H3 Generic Phase Angle Comp" name="H_SW2_H3_PHANG" documentation="Only for H3 swashplate.  If pitching the swash forward induces a roll, this can be correct the problem" user="Advanced">
        <field name="Range">-30 30</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Differential Collective Pitch Trim" name="H_DCP_TRIM" documentation="Removes I term bias due to center of gravity offsets or discrepancies between rotors in swashplate setup. If DCP axis has I term bias while hovering in calm winds, use value of bias in DCP_TRIM to re-center I term." user="Standard">
        <field name="Range">-0.2 0.2</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Yaw reverser expo" name="H_YAW_REV_EXPO" documentation="For intermeshing mode only. Yaw revereser smoothing exponent, smoothen transition near zero collective region. Increase this parameter to shink smoothing range. Set to -1 to disable reverser. " user="Standard">
        <field name="Range">-1 1000</field>
        <field name="Increment">1.0</field>
      </param>
      <param humanName="Minimum Collective Pitch" name="H_COL_MIN" documentation="Lowest possible servo position in PWM microseconds for the swashplate" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum Collective Pitch" name="H_COL_MAX" documentation="Highest possible servo position in PWM microseconds for the swashplate" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Manual Servo Mode" name="H_SV_MAN" documentation="Manual servo override for swash set-up. Must be 0 (Disabled) for flight!" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Passthrough</value>
          <value code="2">Max collective</value>
          <value code="3">Zero thrust collective</value>
          <value code="4">Min collective</value>
        </values>
      </param>
      <param humanName="Maximum Cyclic Pitch Angle" name="H_CYC_MAX" documentation="Maximum cyclic pitch angle of the swash plate.  There are no units to this parameter.  This should be adjusted to get the desired cyclic blade pitch for the pitch and roll axes.  Typically this should be 6-7 deg (measured blade pitch angle difference between stick centered and stick max deflection." user="Standard">
        <field name="Range">0 4500</field>
        <field name="Increment">100</field>
      </param>
      <param humanName="Boot-up Servo Test Cycles" name="H_SV_TEST" documentation="Number of cycles to run servo test on boot-up" user="Standard">
        <field name="Range">0 10</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Collective Hover Value" name="H_COL_HOVER" documentation="Collective needed to hover expressed as a number from 0 to 1 where 0 is H_COL_MIN and 1 is H_COL_MAX" user="Advanced">
        <field name="Range">0.3 0.8</field>
      </param>
      <param humanName="Hover Value Learning" name="H_HOVER_LEARN" documentation="Enable/Disable automatic learning of hover collective" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Learn</value>
          <value code="2">Learn and Save</value>
        </values>
      </param>
      <param humanName="Heli_Options" name="H_OPTIONS" documentation="Bitmask of heli options.  Bit 0 changes how the pitch, roll, and yaw axis integrator term is managed for low speed and takeoff/landing. In AC 4.0 and earlier, scheme uses a leaky integrator for ground speeds less than 5 m/s and won't let the steady state integrator build above ILMI. The integrator is allowed to build to the ILMI value when it is landed.  The other integrator management scheme bases integrator limiting on takeoff and landing.  Whenever the aircraft is landed the integrator is set to zero.  When the aicraft is airborne, the integrator is only limited by IMAX. " user="Standard">
        <field name="Bitmask">0:Use Leaky I</field>
      </param>
      <param humanName="Collective Blade Pitch Angle Minimum" name="H_COL_ANG_MIN" documentation="Minimum collective blade pitch angle in deg that corresponds to the PWM set for minimum collective pitch (H_COL_MIN)." user="Standard">
        <field name="Range">-20 0</field>
        <field name="Increment">0.1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Collective Blade Pitch Angle Maximum" name="H_COL_ANG_MAX" documentation="Maximum collective blade pitch angle in deg that corresponds to the PWM set for maximum collective pitch (H_COL_MAX)." user="Standard">
        <field name="Range">5 20</field>
        <field name="Increment">0.1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Collective Blade Pitch at Zero Thrust" name="H_COL_ZERO_THRST" documentation="Collective blade pitch angle at zero thrust in degrees. For symetric airfoil blades this value is zero deg. For chambered airfoil blades this value is typically negative." user="Standard">
        <field name="Range">-5 0</field>
        <field name="Increment">0.1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Collective Blade Pitch Minimum when Landed" name="H_COL_LAND_MIN" documentation="Minimum collective blade pitch angle when landed in degrees for non-manual collective modes (i.e. modes that use altitude hold)." user="Standard">
        <field name="Range">-5 0</field>
        <field name="Increment">0.1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
    </parameters>
    <parameters name="H_RSC_">
      <param humanName="External Motor Governor Setpoint" name="H_RSC_SETPOINT" documentation="Throttle (HeliRSC Servo) output in percent to the external motor governor when motor interlock enabled (throttle hold off)." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Rotor Speed Control Mode" name="H_RSC_MODE" documentation="Selects the type of rotor speed control used to determine throttle output to the HeliRSC servo channel when motor interlock is enabled (throttle hold off). RC Passthrough sends the input from the RC Motor Interlock channel as throttle output.  External Gov SetPoint sends the RSC SetPoint parameter value as throttle output.  Throttle Curve uses the 5 point throttle curve to determine throttle output based on the collective output.  AutoThrottle requires a rotor speed sensor, contains an advanced autothrottle governor and is primarily for piston and turbine engines. WARNING: Throttle ramp time and throttle curve MUST be tuned properly using Throttle Curve mode before using AutoThrottle" user="Standard">
        <values>
          <value code="1">RC Passthrough</value>
          <value code="2">External Gov SetPoint</value>
          <value code="3">Throttle Curve</value>
          <value code="4">AutoThrottle</value>
        </values>
      </param>
      <param humanName="Throttle Ramp Time" name="H_RSC_RAMP_TIME" documentation="Time in seconds for throttle output (HeliRSC servo) to ramp from ground idle (RSC_IDLE) to flight idle throttle setting when motor interlock is enabled (throttle hold off)." user="Standard">
        <field name="Range">0 60</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Rotor Runup Time" name="H_RSC_RUNUP_TIME" documentation="Actual time in seconds for the main rotor to reach full speed after motor interlock is enabled (throttle hold off). Must be at least one second longer than the Throttle Ramp Time that is set with RSC_RAMP_TIME. WARNING: For AutoThrottle users with piston and turbine engines it is VERY important to know how long it takes to warm up your engine and reach full rotor speed when throttle switch is turned ON. This timer should be set for at least the amount of time it takes to get your helicopter to full flight power, ready for takeoff. Failure to heed this warning could result in the auto-takeoff mode attempting to lift up into hover before the engine has reached full power, and subsequent loss of control" user="Standard">
        <field name="Range">0 60</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Critical Rotor Speed" name="H_RSC_CRITICAL" documentation="Percentage of normal rotor speed where flight is no longer possible. However currently the rotor runup/rundown is estimated using the RSC_RUNUP_TIME parameter.   Estimated rotor speed increases/decreases between 0 (rotor stopped) to 1 (rotor at normal speed) in the RSC_RUNUP_TIME in seconds. This parameter should be set so that the estimated rotor speed goes below critical in approximately 3 seconds.  So if you had a 10 second runup time then set RSC_CRITICAL to 70%." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Throttle Output at Idle" name="H_RSC_IDLE" documentation="Throttle output (HeliRSC Servo) in percent while armed but motor interlock is disabled (throttle hold on). FOR COMBUSTION ENGINES. Sets the engine ground idle throttle percentage with clutch disengaged. This must be set to zero for electric helicopters under most situations. If the ESC has an autorotation window this can be set to keep the autorotation window open in the ESC. Consult the operating manual for your ESC to set it properly for this purpose" user="Standard">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Throttle Slew Rate" name="H_RSC_SLEWRATE" documentation="This controls the maximum rate at which the throttle output (HeliRSC servo) can change, as a percentage per second. A value of 100 means the throttle can change over its full range in one second. A value of zero gives unlimited slew rate." user="Standard">
        <field name="Range">0 500</field>
        <field name="Increment">10</field>
      </param>
      <param humanName="Throttle Curve at 0% Coll" name="H_RSC_THRCRV_0" documentation="Sets the throttle output (HeliRSC servo) in percent for the throttle curve at the minimum collective pitch position. The 0 percent collective is defined by H_COL_MIN. Example: if the setup has -2 degree to +10 degree collective pitch setup, this setting would correspond to -2 degree of pitch." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Throttle Curve at 25% Coll" name="H_RSC_THRCRV_25" documentation="Sets the throttle output (HeliRSC servo) in percent for the throttle curve at 25% of full collective travel where he 0 percent collective is defined by H_COL_MIN and 100 percent collective is defined by H_COL_MAX.  Example: if the setup has -2 degree to +10 degree collective pitch setup, the total range is 12 degrees. 25% of 12 degrees is 3 degrees, so this setting would correspond to +1 degree of pitch." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Throttle Curve at 50% Coll" name="H_RSC_THRCRV_50" documentation="Sets the throttle output (HeliRSC servo) in percent for the throttle curve at 50% of full collective travel where he 0 percent collective is defined by H_COL_MIN and 100 percent collective is defined by H_COL_MAX.  Example: if the setup has -2 degree to +10 degree collective pitch setup, the total range is 12 degrees. 50% of 12 degrees is 6 degrees, so this setting would correspond to +4 degree of pitch." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Throttle Curve at 75% Coll" name="H_RSC_THRCRV_75" documentation="Sets the throttle output (HeliRSC servo) in percent for the throttle curve at 75% of full collective travel where he 0 percent collective is defined by H_COL_MIN and 100 percent collective is defined by H_COL_MAX.  Example: if the setup has -2 degree to +10 degree collective pitch setup, the total range is 12 degrees. 75% of 12 degrees is 9 degrees, so this setting would correspond to +7 degree of pitch." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Throttle Curve at 100% Coll" name="H_RSC_THRCRV_100" documentation="Sets the throttle output (HeliRSC servo) in percent for the throttle curve at the minimum collective pitch position. The 100 percent collective is defined by H_COL_MAX.  Example: if the setup has -2 degree to +10 degree collective pitch setup, this setting would correspond to +10 degree of pitch." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Governor Operational Range" name="H_RSC_GOV_RANGE" documentation="RPM range +/- governor rpm reference setting where governor is operational. If speed sensor fails or rpm falls outside of this range, the governor will disengage and return to throttle curve. Recommended range is 100" user="Standard">
        <field name="Range">50 200</field>
        <field name="Increment">10</field>
        <field name="Units">RPM</field>
        <field name="UnitText">Revolutions Per Minute</field>
      </param>
      <param humanName="Autorotation Throttle Percentage for External Governor" name="H_RSC_AROT_PCT" documentation="The throttle percentage sent to external governors, signaling to enable fast spool-up, when bailing out of an autorotation.  Set 0 to disable. If also using a tail rotor of type DDVP with external governor then this value must lie within the autorotation window of both governors." user="Standard">
        <field name="Range">0 40</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Cooldown Time" name="H_RSC_CLDWN_TIME" documentation="Will provide a fast idle for engine cooldown by raising the Ground Idle speed setting by 50% for the number of seconds the timer is set for. A setting of zero disables the fast idle. This feature will only apply after the runup complete has been declared. This will not extend the time before ground idle is declared, which triggers engine shutdown for autonomous landings." user="Standard">
        <field name="Range">0 120</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Governor Torque Compensator" name="H_RSC_GOV_COMP" documentation="Adjusts the autothrottle governor torque compensator that determines how fast the governor will adjust the base torque reference to compensate for changes in density altitude. If RPM is low or high by more than 2-5 RPM, increase this setting by 1% at a time until the governor speed matches your RPM setting. Setting the compensator too high can result in surging and throttle &quot;hunting&quot;. Do not make large adjustments at one time" user="Standard">
        <field name="Range">0 70</field>
        <field name="Increment">0.1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Governor Droop Compensator" name="H_RSC_GOV_DROOP" documentation="AutoThrottle governor droop response under load, normal settings of 0-50%. Higher value is quicker response to large speed changes due to load but may cause surging. Adjust this to be as aggressive as possible without getting surging or RPM over-run when the governor responds to large load changes on the rotor system" user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">0.1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Governor Feedforward" name="H_RSC_GOV_FF" documentation="Feedforward governor gain to throttle response during sudden loading/unloading of the rotor system. If RPM drops excessively during full collective climb with the droop response set correctly, increase the governor feedforward." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">0.1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Rotor RPM Setting" name="H_RSC_GOV_RPM" documentation="Main rotor RPM that governor maintains when engaged" user="Standard">
        <field name="Range">800 3500</field>
        <field name="Increment">10</field>
        <field name="Units">RPM</field>
        <field name="UnitText">Revolutions Per Minute</field>
      </param>
      <param humanName="Governor Torque Limiter" name="H_RSC_GOV_TORQUE" documentation="Adjusts the engine's percentage of torque rise on autothrottle during ramp-up to governor speed. The torque rise will determine how fast the rotor speed will ramp up when rotor speed reaches 50% of the rotor RPM setting. The sequence of events engaging the governor is as follows: Throttle ramp time will engage the clutch and start the main rotor turning. The collective should be at flat pitch and the throttle curve set to provide at least 50% of normal RPM at flat pitch. The autothrottle torque limiter will automatically activate and start accelerating the main rotor. If the autothrottle consistently fails to accelerate the main rotor during ramp-in due to engine tune or other factors, then increase the torque limiter setting. NOTE: throttle ramp time and throttle curve should be tuned using RSC_MODE Throttle Curve before using RSC_MODE AutoThrottle" user="Standard">
        <field name="Range">10 60</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
    </parameters>
    <parameters name="IM_">
      <param humanName="Acro Mode Collective Expo" name="IM_ACRO_COL_EXP" documentation="Used to soften collective pitch inputs near center point in Acro mode." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="0.1">Very Low</value>
          <value code="0.2">Low</value>
          <value code="0.3">Medium</value>
          <value code="0.4">High</value>
          <value code="0.5">Very High</value>
        </values>
      </param>
      <param humanName="Stabilize Collective Low" name="IM_STB_COL_1" documentation="Helicopter's minimum collective pitch setting at zero collective stick input in Stabilize mode.  Set this as a percent of collective range given by H_COL_MAX minus H_COL_MIN." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Stabilize Collective Mid-Low" name="IM_STB_COL_2" documentation="Helicopter's collective pitch setting at mid-low (40%) collective stick input in Stabilize mode. Set this as a percent of collective range given by H_COL_MAX minus H_COL_MIN." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Stabilize Collective Mid-High" name="IM_STB_COL_3" documentation="Helicopter's collective pitch setting at mid-high (60%) collective stick input in Stabilize mode. Set this as a percent of collective range given by H_COL_MAX minus H_COL_MIN." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Stabilize Collective High" name="IM_STB_COL_4" documentation="Helicopter's maximum collective pitch setting at full collective stick input in Stabilize mode. Set this as a percent of collective range given by H_COL_MAX minus H_COL_MIN." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
    </parameters>
    <parameters name="INS_">
      <param humanName="Gyro offsets of X axis" name="INS_GYROFFS_X" documentation="Gyro sensor offsets of X axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro offsets of Y axis" name="INS_GYROFFS_Y" documentation="Gyro sensor offsets of Y axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro offsets of Z axis" name="INS_GYROFFS_Z" documentation="Gyro sensor offsets of Z axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro2 offsets of X axis" name="INS_GYR2OFFS_X" documentation="Gyro2 sensor offsets of X axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro2 offsets of Y axis" name="INS_GYR2OFFS_Y" documentation="Gyro2 sensor offsets of Y axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro2 offsets of Z axis" name="INS_GYR2OFFS_Z" documentation="Gyro2 sensor offsets of Z axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro3 offsets of X axis" name="INS_GYR3OFFS_X" documentation="Gyro3 sensor offsets of X axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro3 offsets of Y axis" name="INS_GYR3OFFS_Y" documentation="Gyro3 sensor offsets of Y axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Gyro3 offsets of Z axis" name="INS_GYR3OFFS_Z" documentation="Gyro3 sensor offsets of Z axis. This is setup on each boot during gyro calibrations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">rad/s</field>
        <field name="UnitText">radians per second</field>
      </param>
      <param humanName="Accelerometer scaling of X axis" name="INS_ACCSCAL_X" documentation="Accelerometer scaling of X axis.  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer scaling of Y axis" name="INS_ACCSCAL_Y" documentation="Accelerometer scaling of Y axis  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer scaling of Z axis" name="INS_ACCSCAL_Z" documentation="Accelerometer scaling of Z axis  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer offsets of X axis" name="INS_ACCOFFS_X" documentation="Accelerometer offsets of X axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer offsets of Y axis" name="INS_ACCOFFS_Y" documentation="Accelerometer offsets of Y axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer offsets of Z axis" name="INS_ACCOFFS_Z" documentation="Accelerometer offsets of Z axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer2 scaling of X axis" name="INS_ACC2SCAL_X" documentation="Accelerometer2 scaling of X axis.  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer2 scaling of Y axis" name="INS_ACC2SCAL_Y" documentation="Accelerometer2 scaling of Y axis  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer2 scaling of Z axis" name="INS_ACC2SCAL_Z" documentation="Accelerometer2 scaling of Z axis  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer2 offsets of X axis" name="INS_ACC2OFFS_X" documentation="Accelerometer2 offsets of X axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer2 offsets of Y axis" name="INS_ACC2OFFS_Y" documentation="Accelerometer2 offsets of Y axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer2 offsets of Z axis" name="INS_ACC2OFFS_Z" documentation="Accelerometer2 offsets of Z axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer3 scaling of X axis" name="INS_ACC3SCAL_X" documentation="Accelerometer3 scaling of X axis.  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer3 scaling of Y axis" name="INS_ACC3SCAL_Y" documentation="Accelerometer3 scaling of Y axis  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer3 scaling of Z axis" name="INS_ACC3SCAL_Z" documentation="Accelerometer3 scaling of Z axis  Calculated during acceleration calibration routine" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">0.8 1.2</field>
      </param>
      <param humanName="Accelerometer3 offsets of X axis" name="INS_ACC3OFFS_X" documentation="Accelerometer3 offsets of X axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer3 offsets of Y axis" name="INS_ACC3OFFS_Y" documentation="Accelerometer3 offsets of Y axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Accelerometer3 offsets of Z axis" name="INS_ACC3OFFS_Z" documentation="Accelerometer3 offsets of Z axis. This is setup using the acceleration calibration or level operations" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-3.5 3.5</field>
        <field name="Units">m/s/s</field>
        <field name="UnitText">meters per square second</field>
      </param>
      <param humanName="Gyro filter cutoff frequency" name="INS_GYRO_FILTER" documentation="Filter cutoff frequency for gyroscopes. This can be set to a lower value to try to cope with very high vibration levels in aircraft. A value of zero means no filtering (not recommended!)" user="Advanced">
        <field name="Range">0 256</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Accel filter cutoff frequency" name="INS_ACCEL_FILTER" documentation="Filter cutoff frequency for accelerometers. This can be set to a lower value to try to cope with very high vibration levels in aircraft. A value of zero means no filtering (not recommended!)" user="Advanced">
        <field name="Range">0 256</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Use first IMU for attitude, velocity and position estimates" name="INS_USE" documentation="Use first IMU for attitude, velocity and position estimates" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Use second IMU for attitude, velocity and position estimates" name="INS_USE2" documentation="Use second IMU for attitude, velocity and position estimates" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Use third IMU for attitude, velocity and position estimates" name="INS_USE3" documentation="Use third IMU for attitude, velocity and position estimates" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Stillness threshold for detecting if we are moving" name="INS_STILL_THRESH" documentation="Threshold to tolerate vibration to determine if vehicle is motionless. This depends on the frame type and if there is a constant vibration due to motors before launch or after landing. Total motionless is about 0.05. Suggested values: Planes/rover use 0.1, multirotors use 1, tradHeli uses 5" user="Advanced">
        <field name="Range">0.05 50</field>
      </param>
      <param humanName="Gyro Calibration scheme" name="INS_GYR_CAL" documentation="Conrols when automatic gyro calibration is performed" user="Advanced">
        <values>
          <value code="0">Never</value>
          <value code="1">Start-up only</value>
        </values>
      </param>
      <param humanName="Accel cal trim option" name="INS_TRIM_OPTION" documentation="Specifies how the accel cal routine determines the trims" user="Advanced">
        <values>
          <value code="0">Don't adjust the trims</value>
          <value code="1">Assume first orientation was level</value>
          <value code="2">Assume ACC_BODYFIX is perfectly aligned to the vehicle</value>
        </values>
      </param>
      <param humanName="Body-fixed accelerometer" name="INS_ACC_BODYFIX" documentation="The body-fixed accelerometer to be used for trim calculation" user="Advanced">
        <values>
          <value code="1">IMU 1</value>
          <value code="2">IMU 2</value>
          <value code="3">IMU 3</value>
        </values>
      </param>
      <param humanName="IMU accelerometer X position" name="INS_POS1_X" documentation="X position of the first IMU Accelerometer in body frame. Positive X is forward of the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer Y position" name="INS_POS1_Y" documentation="Y position of the first IMU accelerometer in body frame. Positive Y is to the right of the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer Z position" name="INS_POS1_Z" documentation="Z position of the first IMU accelerometer in body frame. Positive Z is down from the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer X position" name="INS_POS2_X" documentation="X position of the second IMU accelerometer in body frame. Positive X is forward of the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer Y position" name="INS_POS2_Y" documentation="Y position of the second IMU accelerometer in body frame. Positive Y is to the right of the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer Z position" name="INS_POS2_Z" documentation="Z position of the second IMU accelerometer in body frame. Positive Z is down from the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer X position" name="INS_POS3_X" documentation="X position of the third IMU accelerometer in body frame. Positive X is forward of the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-10 10</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer Y position" name="INS_POS3_Y" documentation="Y position of the third IMU accelerometer in body frame. Positive Y is to the right of the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="IMU accelerometer Z position" name="INS_POS3_Z" documentation="Z position of the third IMU accelerometer in body frame. Positive Z is down from the origin. Attention: The IMU should be located as close to the vehicle c.g. as practical so that the value of this parameter is minimised. Failure to do so can result in noisy navigation velocity measurements due to vibration and IMU gyro noise. If the IMU cannot be moved and velocity noise is a problem, a location closer to the IMU can be used as the body frame origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Gyro ID" name="INS_GYR_ID" documentation="Gyro sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Gyro2 ID" name="INS_GYR2_ID" documentation="Gyro2 sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Gyro3 ID" name="INS_GYR3_ID" documentation="Gyro3 sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Accelerometer ID" name="INS_ACC_ID" documentation="Accelerometer sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Accelerometer2 ID" name="INS_ACC2_ID" documentation="Accelerometer2 sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Accelerometer3 ID" name="INS_ACC3_ID" documentation="Accelerometer3 sensor ID, taking into account its type, bus and instance" user="Advanced">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Fast sampling mask" name="INS_FAST_SAMPLE" documentation="Mask of IMUs to enable fast sampling on, if available" user="Advanced">
        <field name="Bitmask">0:FirstIMU,1:SecondIMU,2:ThirdIMU</field>
      </param>
      <param humanName="IMU enable mask" name="INS_ENABLE_MASK" documentation="Bitmask of IMUs to enable. It can be used to prevent startup of specific detected IMUs" user="Advanced">
        <field name="Bitmask">0:FirstIMU,1:SecondIMU,2:ThirdIMU,3:FourthIMU,4:FifthIMU,5:SixthIMU,6:SeventhIMU</field>
      </param>
      <param humanName="Gyro rate for IMUs with Fast Sampling enabled" name="INS_GYRO_RATE" documentation="Gyro rate for IMUs with fast sampling enabled. The gyro rate is the sample rate at which the IMU filters operate and needs to be at least double the maximum filter frequency. If the sensor does not support the selected rate the next highest supported rate will be used. For IMUs which do not support fast sampling this setting is ignored and the default gyro rate of 1Khz is used." user="Advanced">
        <values>
          <value code="0">1kHz</value>
          <value code="1">2kHz</value>
          <value code="2">4kHz</value>
          <value code="3">8kHz</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Calibration temperature for 1st accelerometer" name="INS_ACC1_CALTEMP" documentation="Temperature that the 1st accelerometer was calibrated at" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Calibration temperature for 1st gyroscope" name="INS_GYR1_CALTEMP" documentation="Temperature that the 1st gyroscope was calibrated at" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Calibration temperature for 2nd accelerometer" name="INS_ACC2_CALTEMP" documentation="Temperature that the 2nd accelerometer was calibrated at" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Calibration temperature for 2nd gyroscope" name="INS_GYR2_CALTEMP" documentation="Temperature that the 2nd gyroscope was calibrated at" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Calibration temperature for 3rd accelerometer" name="INS_ACC3_CALTEMP" documentation="Temperature that the 3rd accelerometer was calibrated at" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Calibration temperature for 3rd gyroscope" name="INS_GYR3_CALTEMP" documentation="Temperature that the 3rd gyroscope was calibrated at" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Options for temperature calibration" name="INS_TCAL_OPTIONS" documentation="This enables optional temperature calibration features. Setting PersistParams will save the accelerometer and temperature calibration parameters in the bootloader sector on the next update of the bootloader." user="Advanced">
        <field name="Bitmask">0:PersistParams</field>
      </param>
    </parameters>
    <parameters name="INS_HNTC2_">
      <param humanName="Harmonic Notch Filter enable" name="INS_HNTC2_ENABLE" documentation="Harmonic Notch Filter enable" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Harmonic Notch Filter base frequency" name="INS_HNTC2_FREQ" documentation="Harmonic Notch Filter base center frequency in Hz. This should be set at most half the backend gyro rate (which is typically 1Khz). For helicopters using RPM sensor to dynamically set the notch frequency, use this parameter to provide a lower limit to the dynamic notch filter.  Recommend setting it to half the operating rotor speed in Hz." user="Advanced">
        <field name="Range">10 495</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Harmonic Notch Filter bandwidth" name="INS_HNTC2_BW" documentation="Harmonic Notch Filter bandwidth in Hz. This is typically set to half the base frequency. The ratio of base frequency to bandwidth determines the notch quality factor and is fixed across harmonics." user="Advanced">
        <field name="Range">5 250</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Harmonic Notch Filter attenuation" name="INS_HNTC2_ATT" documentation="Harmonic Notch Filter attenuation in dB. Values greater than 40dB will typically produce a hard notch rather than a modest attenuation of motor noise." user="Advanced">
        <field name="Range">5 50</field>
        <field name="Units">dB</field>
        <field name="UnitText">decibel</field>
      </param>
      <param humanName="Harmonic Notch Filter harmonics" name="INS_HNTC2_HMNCS" documentation="Bitmask of harmonic frequencies to apply Harmonic Notch Filter to. This option takes effect on the next reboot. A value of 0 disables this filter. The first harmonic refers to the base frequency." user="Advanced">
        <field name="Bitmask">0:1st harmonic,1:2nd harmonic,2:3rd harmonic,3:4th hamronic,4:5th harmonic,5:6th harmonic,6:7th harmonic,7:8th harmonic</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Harmonic Notch Filter reference value" name="INS_HNTC2_REF" documentation="A reference value of zero disables dynamic updates on the Harmonic Notch Filter and a positive value enables dynamic updates on the Harmonic Notch Filter.  For throttle-based scaling, this parameter is the reference value associated with the specified frequency to facilitate frequency scaling of the Harmonic Notch Filter. For RPM and ESC telemetry based tracking, this parameter is set to 1 to enable the Harmonic Notch Filter using the RPM sensor or ESC telemetry set to measure rotor speed.  The sensor data is converted to Hz automatically for use in the Harmonic Notch Filter.  This reference value may also be used to scale the sensor data, if required.  For example, rpm sensor data is required to measure heli motor RPM. Therefore the reference value can be used to scale the RPM sensor to the rotor RPM." user="Advanced">
        <field name="Range">0.0 1.0</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Harmonic Notch Filter dynamic frequency tracking mode" name="INS_HNTC2_MODE" documentation="Harmonic Notch Filter dynamic frequency tracking mode. Dynamic updates can be throttle, RPM sensor, ESC telemetry or dynamic FFT based. Throttle-based updates should only be used with multicopters." user="Advanced">
        <field name="Range">0 4</field>
        <values>
          <value code="0">Disabled</value>
          <value code="1">Throttle</value>
          <value code="2">RPM Sensor</value>
          <value code="3">ESC Telemetry</value>
          <value code="4">Dynamic FFT</value>
          <value code="5">Second RPM Sensor</value>
        </values>
      </param>
      <param humanName="Harmonic Notch Filter options" name="INS_HNTC2_OPTS" documentation="Harmonic Notch Filter options. Double-notches can provide deeper attenuation across a wider bandwidth than single notches and are suitable for larger aircraft. Dynamic harmonics attaches a harmonic notch to each detected noise frequency instead of simply being multiples of the base frequency, in the case of FFT it will attach notches to each of three detected noise peaks, in the case of ESC it will attach notches to each of four motor RPM values. Loop rate update changes the notch center frequency at the scheduler loop rate rather than at the default of 200Hz." user="Advanced">
        <field name="Bitmask">0:Double notch,1:Dynamic harmonic,2:Update at loop rate</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="INS_HNTCH_">
      <param humanName="Harmonic Notch Filter enable" name="INS_HNTCH_ENABLE" documentation="Harmonic Notch Filter enable" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Harmonic Notch Filter base frequency" name="INS_HNTCH_FREQ" documentation="Harmonic Notch Filter base center frequency in Hz. This should be set at most half the backend gyro rate (which is typically 1Khz). For helicopters using RPM sensor to dynamically set the notch frequency, use this parameter to provide a lower limit to the dynamic notch filter.  Recommend setting it to half the operating rotor speed in Hz." user="Advanced">
        <field name="Range">10 495</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Harmonic Notch Filter bandwidth" name="INS_HNTCH_BW" documentation="Harmonic Notch Filter bandwidth in Hz. This is typically set to half the base frequency. The ratio of base frequency to bandwidth determines the notch quality factor and is fixed across harmonics." user="Advanced">
        <field name="Range">5 250</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Harmonic Notch Filter attenuation" name="INS_HNTCH_ATT" documentation="Harmonic Notch Filter attenuation in dB. Values greater than 40dB will typically produce a hard notch rather than a modest attenuation of motor noise." user="Advanced">
        <field name="Range">5 50</field>
        <field name="Units">dB</field>
        <field name="UnitText">decibel</field>
      </param>
      <param humanName="Harmonic Notch Filter harmonics" name="INS_HNTCH_HMNCS" documentation="Bitmask of harmonic frequencies to apply Harmonic Notch Filter to. This option takes effect on the next reboot. A value of 0 disables this filter. The first harmonic refers to the base frequency." user="Advanced">
        <field name="Bitmask">0:1st harmonic,1:2nd harmonic,2:3rd harmonic,3:4th hamronic,4:5th harmonic,5:6th harmonic,6:7th harmonic,7:8th harmonic</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Harmonic Notch Filter reference value" name="INS_HNTCH_REF" documentation="A reference value of zero disables dynamic updates on the Harmonic Notch Filter and a positive value enables dynamic updates on the Harmonic Notch Filter.  For throttle-based scaling, this parameter is the reference value associated with the specified frequency to facilitate frequency scaling of the Harmonic Notch Filter. For RPM and ESC telemetry based tracking, this parameter is set to 1 to enable the Harmonic Notch Filter using the RPM sensor or ESC telemetry set to measure rotor speed.  The sensor data is converted to Hz automatically for use in the Harmonic Notch Filter.  This reference value may also be used to scale the sensor data, if required.  For example, rpm sensor data is required to measure heli motor RPM. Therefore the reference value can be used to scale the RPM sensor to the rotor RPM." user="Advanced">
        <field name="Range">0.0 1.0</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Harmonic Notch Filter dynamic frequency tracking mode" name="INS_HNTCH_MODE" documentation="Harmonic Notch Filter dynamic frequency tracking mode. Dynamic updates can be throttle, RPM sensor, ESC telemetry or dynamic FFT based. Throttle-based updates should only be used with multicopters." user="Advanced">
        <field name="Range">0 4</field>
        <values>
          <value code="0">Disabled</value>
          <value code="1">Throttle</value>
          <value code="2">RPM Sensor</value>
          <value code="3">ESC Telemetry</value>
          <value code="4">Dynamic FFT</value>
          <value code="5">Second RPM Sensor</value>
        </values>
      </param>
      <param humanName="Harmonic Notch Filter options" name="INS_HNTCH_OPTS" documentation="Harmonic Notch Filter options. Double-notches can provide deeper attenuation across a wider bandwidth than single notches and are suitable for larger aircraft. Dynamic harmonics attaches a harmonic notch to each detected noise frequency instead of simply being multiples of the base frequency, in the case of FFT it will attach notches to each of three detected noise peaks, in the case of ESC it will attach notches to each of four motor RPM values. Loop rate update changes the notch center frequency at the scheduler loop rate rather than at the default of 200Hz." user="Advanced">
        <field name="Bitmask">0:Double notch,1:Dynamic harmonic,2:Update at loop rate</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="INS_LOG_">
      <param humanName="sample count per batch" name="INS_LOG_BAT_CNT" documentation="Number of samples to take when logging streams of IMU sensor readings.  Will be rounded down to a multiple of 32. This option takes effect on the next reboot." user="Advanced">
        <field name="Increment">32</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Sensor Bitmask" name="INS_LOG_BAT_MASK" documentation="Bitmap of which IMUs to log batch data for. This option takes effect on the next reboot." user="Advanced">
        <field name="Bitmask">0:IMU1,1:IMU2,2:IMU3</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Batch Logging Options Mask" name="INS_LOG_BAT_OPT" documentation="Options for the BatchSampler. Post-filter and sensor-rate logging cannot be used at the same time." user="Advanced">
        <field name="Bitmask">0:Sensor-Rate Logging (sample at full sensor rate seen by AP), 1: Sample post-filtering</field>
      </param>
      <param humanName="logging interval" name="INS_LOG_BAT_LGIN" documentation="Interval between pushing samples to the AP_Logger log">
        <field name="Increment">10</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="logging count" name="INS_LOG_BAT_LGCT" documentation="Number of samples to push to count every INS_LOG_BAT_LGIN">
        <field name="Increment">1</field>
      </param>
    </parameters>
    <parameters name="INS_TCAL1_">
      <param humanName="Enable temperature calibration" name="INS_TCAL1_ENABLE" documentation="Enable the use of temperature calibration parameters for this IMU. For automatic learning set to 2 and also set the INS_TCALn_TMAX to the target temperature, then reboot" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">LearnCalibration</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Temperature calibration min" name="INS_TCAL1_TMIN" documentation="The minimum temperature that the calibration is valid for" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-70 80</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Temperature calibration max" name="INS_TCAL1_TMAX" documentation="The maximum temperature that the calibration is valid for. This must be at least 10 degrees above TMIN for calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-70 80</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient X axis" name="INS_TCAL1_ACC1_X" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient Y axis" name="INS_TCAL1_ACC1_Y" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient Z axis" name="INS_TCAL1_ACC1_Z" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient X axis" name="INS_TCAL1_ACC2_X" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient Y axis" name="INS_TCAL1_ACC2_Y" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient Z axis" name="INS_TCAL1_ACC2_Z" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient X axis" name="INS_TCAL1_ACC3_X" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient Y axis" name="INS_TCAL1_ACC3_Y" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient Z axis" name="INS_TCAL1_ACC3_Z" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient X axis" name="INS_TCAL1_GYR1_X" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient Y axis" name="INS_TCAL1_GYR1_Y" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient Z axis" name="INS_TCAL1_GYR1_Z" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient X axis" name="INS_TCAL1_GYR2_X" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient Y axis" name="INS_TCAL1_GYR2_Y" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient Z axis" name="INS_TCAL1_GYR2_Z" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient X axis" name="INS_TCAL1_GYR3_X" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient Y axis" name="INS_TCAL1_GYR3_Y" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient Z axis" name="INS_TCAL1_GYR3_Z" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
    </parameters>
    <parameters name="INS_TCAL2_">
      <param humanName="Enable temperature calibration" name="INS_TCAL2_ENABLE" documentation="Enable the use of temperature calibration parameters for this IMU. For automatic learning set to 2 and also set the INS_TCALn_TMAX to the target temperature, then reboot" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">LearnCalibration</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Temperature calibration min" name="INS_TCAL2_TMIN" documentation="The minimum temperature that the calibration is valid for" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-70 80</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Temperature calibration max" name="INS_TCAL2_TMAX" documentation="The maximum temperature that the calibration is valid for. This must be at least 10 degrees above TMIN for calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-70 80</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient X axis" name="INS_TCAL2_ACC1_X" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient Y axis" name="INS_TCAL2_ACC1_Y" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient Z axis" name="INS_TCAL2_ACC1_Z" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient X axis" name="INS_TCAL2_ACC2_X" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient Y axis" name="INS_TCAL2_ACC2_Y" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient Z axis" name="INS_TCAL2_ACC2_Z" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient X axis" name="INS_TCAL2_ACC3_X" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient Y axis" name="INS_TCAL2_ACC3_Y" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient Z axis" name="INS_TCAL2_ACC3_Z" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient X axis" name="INS_TCAL2_GYR1_X" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient Y axis" name="INS_TCAL2_GYR1_Y" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient Z axis" name="INS_TCAL2_GYR1_Z" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient X axis" name="INS_TCAL2_GYR2_X" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient Y axis" name="INS_TCAL2_GYR2_Y" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient Z axis" name="INS_TCAL2_GYR2_Z" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient X axis" name="INS_TCAL2_GYR3_X" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient Y axis" name="INS_TCAL2_GYR3_Y" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient Z axis" name="INS_TCAL2_GYR3_Z" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
    </parameters>
    <parameters name="INS_TCAL3_">
      <param humanName="Enable temperature calibration" name="INS_TCAL3_ENABLE" documentation="Enable the use of temperature calibration parameters for this IMU. For automatic learning set to 2 and also set the INS_TCALn_TMAX to the target temperature, then reboot" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">LearnCalibration</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Temperature calibration min" name="INS_TCAL3_TMIN" documentation="The minimum temperature that the calibration is valid for" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-70 80</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Temperature calibration max" name="INS_TCAL3_TMAX" documentation="The maximum temperature that the calibration is valid for. This must be at least 10 degrees above TMIN for calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
        <field name="Range">-70 80</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient X axis" name="INS_TCAL3_ACC1_X" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient Y axis" name="INS_TCAL3_ACC1_Y" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 1st order temperature coefficient Z axis" name="INS_TCAL3_ACC1_Z" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient X axis" name="INS_TCAL3_ACC2_X" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient Y axis" name="INS_TCAL3_ACC2_Y" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 2nd order temperature coefficient Z axis" name="INS_TCAL3_ACC2_Z" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient X axis" name="INS_TCAL3_ACC3_X" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient Y axis" name="INS_TCAL3_ACC3_Y" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Accelerometer 3rd order temperature coefficient Z axis" name="INS_TCAL3_ACC3_Z" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient X axis" name="INS_TCAL3_GYR1_X" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient Y axis" name="INS_TCAL3_GYR1_Y" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 1st order temperature coefficient Z axis" name="INS_TCAL3_GYR1_Z" documentation="This is the 1st order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient X axis" name="INS_TCAL3_GYR2_X" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient Y axis" name="INS_TCAL3_GYR2_Y" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 2nd order temperature coefficient Z axis" name="INS_TCAL3_GYR2_Z" documentation="This is the 2nd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient X axis" name="INS_TCAL3_GYR3_X" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient Y axis" name="INS_TCAL3_GYR3_Y" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
      <param humanName="Gyroscope 3rd order temperature coefficient Z axis" name="INS_TCAL3_GYR3_Z" documentation="This is the 3rd order temperature coefficient from a temperature calibration" user="Advanced" calibration="1">
        <field name="Calibration">1</field>
      </param>
    </parameters>
    <parameters name="LGR_">
      <param humanName="Enable landing gear" name="LGR_ENABLE" documentation="Enable landing gear control" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Landing Gear Startup position" name="LGR_STARTUP" documentation="Landing Gear Startup behaviour control" user="Standard">
        <values>
          <value code="0">WaitForPilotInput</value>
          <value code="1">Retract</value>
          <value code="2">Deploy</value>
        </values>
      </param>
      <param humanName="Chassis deployment feedback pin" name="LGR_DEPLOY_PIN" documentation="Pin number to use for detection of gear deployment. If set to -1 feedback is disabled." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Chassis deployment feedback pin polarity" name="LGR_DEPLOY_POL" documentation="Polarity for feedback pin. If this is 1 then the pin should be high when gear are deployed. If set to 0 then then deployed gear level is low." user="Standard">
        <values>
          <value code="0">Low</value>
          <value code="1">High</value>
        </values>
      </param>
      <param humanName="Weight on wheels feedback pin" name="LGR_WOW_PIN" documentation="Pin number to use for feedback of weight on wheels condition. If set to -1 feedback is disabled." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Weight on wheels feedback pin polarity" name="LGR_WOW_POL" documentation="Polarity for feedback pin. If this is 1 then the pin should be high when there is weight on wheels. If set to 0 then then weight on wheels level is low." user="Standard">
        <values>
          <value code="0">Low</value>
          <value code="1">High</value>
        </values>
      </param>
      <param humanName="Landing gear deployment altitude" name="LGR_DEPLOY_ALT" documentation="Altitude where the landing gear will be deployed. This should be lower than the RETRACT_ALT. If zero then altitude is not used for deploying landing gear. Only applies when vehicle is armed." user="Standard">
        <field name="Range">0 1000</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Landing gear retract altitude" name="LGR_RETRACT_ALT" documentation="Altitude where the landing gear will be retracted. This should be higher than the DEPLOY_ALT. If zero then altitude is not used for retracting landing gear. Only applies when vehicle is armed." user="Standard">
        <field name="Range">0 1000</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Landing gear auto retract/deploy options" name="LGR_OPTIONS" documentation="Options to retract or deploy landing gear in Auto or Guided mode" user="Standard">
        <field name="Bitmask">0:Retract after Takeoff,1:Deploy during Land</field>
      </param>
    </parameters>
    <parameters name="LOG">
      <param humanName="AP_Logger Backend Storage type" name="LOG_BACKEND_TYPE" documentation="Bitmap of what Logger backend types to enable. Block-based logging is available on SITL and boards with dataflash chips. Multiple backends can be selected." user="Standard">
        <field name="Bitmask">0:File,1:MAVLink,2:Block</field>
      </param>
      <param humanName="Maximum AP_Logger File and Block Backend buffer size (in kilobytes)" name="LOG_FILE_BUFSIZE" documentation="The File and Block backends use a buffer to store data before writing to the block device.  Raising this value may reduce &quot;gaps&quot; in your SD card logging.  This buffer size may be reduced depending on available memory.  PixHawk requires at least 4 kilobytes.  Maximum value available here is 64 kilobytes." user="Standard">
</param>
      <param humanName="Enable logging while disarmed" name="LOG_DISARMED" documentation="If LOG_DISARMED is set to 1 then logging will be enabled while disarmed. This can make for very large logfiles but can help a lot when tracking down startup issues" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Enable logging of information needed for Replay" name="LOG_REPLAY" documentation="If LOG_REPLAY is set to 1 then the EKF2 state estimator will log detailed information needed for diagnosing problems with the Kalman filter. It is suggested that you also raise LOG_FILE_BUFSIZE to give more buffer space for logging and use a high quality microSD card to ensure no sensor data is lost" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Stop logging to current file on disarm" name="LOG_FILE_DSRMROT" documentation="When set, the current log file is closed when the vehicle is disarmed.  If LOG_DISARMED is set then a fresh log will be opened. Applies to the File and Block logging backends." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Maximum AP_Logger MAVLink Backend buffer size" name="LOG_MAV_BUFSIZE" documentation="Maximum amount of memory to allocate to AP_Logger-over-mavlink" user="Advanced">
        <field name="Units">kB</field>
        <field name="UnitText">kilobytes</field>
      </param>
      <param humanName="Timeout before giving up on file writes" name="LOG_FILE_TIMEOUT" documentation="This controls the amount of time before failing writes to a log file cause the file to be closed and logging stopped." user="Standard">
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Old logs on the SD card will be deleted to maintain this amount of free space" name="LOG_FILE_MB_FREE" documentation="Set this such that the free space is larger than your largest typical flight log" user="Standard">
        <field name="Range">10 1000</field>
        <field name="Units">MB</field>
        <field name="UnitText">megabyte</field>
      </param>
      <param humanName="Maximum logging rate for file backend" name="LOG_FILE_RATEMAX" documentation="This sets the maximum rate that streaming log messages will be logged to the file backend. A value of zero means that rate limiting is disabled." user="Standard">
        <field name="Range">0 1000</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Maximum logging rate for mavlink backend" name="LOG_MAV_RATEMAX" documentation="This sets the maximum rate that streaming log messages will be logged to the mavlink backend. A value of zero means that rate limiting is disabled." user="Standard">
        <field name="Range">0 1000</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Maximum logging rate for block backend" name="LOG_BLK_RATEMAX" documentation="This sets the maximum rate that streaming log messages will be logged to the mavlink backend. A value of zero means that rate limiting is disabled." user="Standard">
        <field name="Range">0 1000</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="LOIT_">
      <param humanName="Loiter pilot angle max" name="LOIT_ANG_MAX" documentation="Loiter maximum pilot requested lean angle. Set to zero for 2/3 of PSC_ANGLE_MAX/ANGLE_MAX. The maximum vehicle lean angle is still limited by PSC_ANGLE_MAX/ANGLE_MAX" user="Advanced">
        <field name="Range">0 45</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Loiter Horizontal Maximum Speed" name="LOIT_SPEED" documentation="Defines the maximum speed in cm/s which the aircraft will travel horizontally while in loiter mode" user="Standard">
        <field name="Range">20 3500</field>
        <field name="Increment">50</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Loiter maximum correction acceleration" name="LOIT_ACC_MAX" documentation="Loiter maximum correction acceleration in cm/s/s.  Higher values cause the copter to correct position errors more aggressively." user="Advanced">
        <field name="Range">100 981</field>
        <field name="Increment">1</field>
        <field name="Units">cm/s/s</field>
        <field name="UnitText">centimeters per square second</field>
      </param>
      <param humanName="Loiter braking acceleration" name="LOIT_BRK_ACCEL" documentation="Loiter braking acceleration in cm/s/s. Higher values stop the copter more quickly when the stick is centered." user="Advanced">
        <field name="Range">25 250</field>
        <field name="Increment">1</field>
        <field name="Units">cm/s/s</field>
        <field name="UnitText">centimeters per square second</field>
      </param>
      <param humanName="Loiter braking jerk" name="LOIT_BRK_JERK" documentation="Loiter braking jerk in cm/s/s/s. Higher values will remove braking faster if the pilot moves the sticks during a braking maneuver." user="Advanced">
        <field name="Range">500 5000</field>
        <field name="Increment">1</field>
        <field name="Units">cm/s/s/s</field>
        <field name="UnitText">centimeters per cubic second</field>
      </param>
      <param humanName="Loiter brake start delay (in seconds)" name="LOIT_BRK_DELAY" documentation="Loiter brake start delay (in seconds)" user="Advanced">
        <field name="Range">0 2</field>
        <field name="Increment">0.1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
    </parameters>
    <parameters name="MIS_">
      <param humanName="Total mission commands" name="MIS_TOTAL" documentation="The number of mission mission items that has been loaded by the ground station. Do not change this manually." user="Advanced">
        <field name="ReadOnly">True</field>
        <field name="Range">0 32766</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Mission Restart when entering Auto mode" name="MIS_RESTART" documentation="Controls mission starting point when entering Auto mode (either restart from beginning of mission or resume from last command run)" user="Advanced">
        <values>
          <value code="0">Resume Mission</value>
          <value code="1">Restart Mission</value>
        </values>
      </param>
      <param humanName="Mission options bitmask" name="MIS_OPTIONS" documentation="Bitmask of what options to use in missions." user="Advanced">
        <field name="Bitmask">0:Clear Mission on reboot, 2:ContinueAfterLand</field>
      </param>
    </parameters>
    <parameters name="MNT">
      <param humanName="Mount Type" name="MNT_TYPE" documentation="Mount Type (None, Servo or MAVLink)" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Servo</value>
          <value code="2">3DR Solo</value>
          <value code="3">Alexmos Serial</value>
          <value code="4">SToRM32 MAVLink</value>
          <value code="5">SToRM32 Serial</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Mount default operating mode" name="MNT_DEFLT_MODE" documentation="Mount default operating mode on startup and after control is returned from autopilot" user="Standard">
        <values>
          <value code="0">Retracted</value>
          <value code="1">Neutral</value>
          <value code="2">MavLink Targeting</value>
          <value code="3">RC Targeting</value>
          <value code="4">GPS Point</value>
        </values>
      </param>
      <param humanName="Mount roll angle when in retracted position" name="MNT_RETRACT_X" documentation="Mount roll angle when in retracted position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount tilt/pitch angle when in retracted position" name="MNT_RETRACT_Y" documentation="Mount tilt/pitch angle when in retracted position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount yaw/pan angle when in retracted position" name="MNT_RETRACT_Z" documentation="Mount yaw/pan angle when in retracted position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount roll angle when in neutral position" name="MNT_NEUTRAL_X" documentation="Mount roll angle when in neutral position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount tilt/pitch angle when in neutral position" name="MNT_NEUTRAL_Y" documentation="Mount tilt/pitch angle when in neutral position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount pan/yaw angle when in neutral position" name="MNT_NEUTRAL_Z" documentation="Mount pan/yaw angle when in neutral position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Stabilize mount's roll angle" name="MNT_STAB_ROLL" documentation="enable roll stabilisation relative to Earth" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Stabilize mount's pitch/tilt angle" name="MNT_STAB_TILT" documentation="enable tilt/pitch stabilisation relative to Earth" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Stabilize mount pan/yaw angle" name="MNT_STAB_PAN" documentation="enable pan/yaw stabilisation relative to Earth" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="roll RC input channel" name="MNT_RC_IN_ROLL" documentation="0 for none, any other for the RC channel to be used to control roll movements" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="5">RC5</value>
          <value code="6">RC6</value>
          <value code="7">RC7</value>
          <value code="8">RC8</value>
          <value code="9">RC9</value>
          <value code="10">RC10</value>
          <value code="11">RC11</value>
          <value code="12">RC12</value>
        </values>
      </param>
      <param humanName="Minimum roll angle" name="MNT_ANGMIN_ROL" documentation="Minimum physical roll angular position of mount." user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Maximum roll angle" name="MNT_ANGMAX_ROL" documentation="Maximum physical roll angular position of the mount" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="tilt (pitch) RC input channel" name="MNT_RC_IN_TILT" documentation="0 for none, any other for the RC channel to be used to control tilt (pitch) movements" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="5">RC5</value>
          <value code="6">RC6</value>
          <value code="7">RC7</value>
          <value code="8">RC8</value>
          <value code="9">RC9</value>
          <value code="10">RC10</value>
          <value code="11">RC11</value>
          <value code="12">RC12</value>
        </values>
      </param>
      <param humanName="Minimum tilt angle" name="MNT_ANGMIN_TIL" documentation="Minimum physical tilt (pitch) angular position of mount." user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Maximum tilt angle" name="MNT_ANGMAX_TIL" documentation="Maximum physical tilt (pitch) angular position of the mount" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="pan (yaw) RC input channel" name="MNT_RC_IN_PAN" documentation="0 for none, any other for the RC channel to be used to control pan (yaw) movements" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="5">RC5</value>
          <value code="6">RC6</value>
          <value code="7">RC7</value>
          <value code="8">RC8</value>
          <value code="9">RC9</value>
          <value code="10">RC10</value>
          <value code="11">RC11</value>
          <value code="12">RC12</value>
        </values>
      </param>
      <param humanName="Minimum pan angle" name="MNT_ANGMIN_PAN" documentation="Minimum physical pan (yaw) angular position of mount." user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Maximum pan angle" name="MNT_ANGMAX_PAN" documentation="Maximum physical pan (yaw) angular position of the mount" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="mount joystick speed" name="MNT_JSTICK_SPD" documentation="0 for position control, small for low speeds, 100 for max speed. A good general value is 10 which gives a movement speed of 3 degrees per second." user="Standard">
        <field name="Range">0 100</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="Roll stabilization lead time" name="MNT_LEAD_RLL" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate, compensating for servo delay. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
        <field name="Range">0.0 0.2</field>
        <field name="Increment">.005</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Pitch stabilization lead time" name="MNT_LEAD_PTCH" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
        <field name="Range">0.0 0.2</field>
        <field name="Increment">.005</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Mount default operating mode" name="MNT2_DEFLT_MODE" documentation="Mount default operating mode on startup and after control is returned from autopilot" user="Standard">
        <values>
          <value code="0">Retracted</value>
          <value code="1">Neutral</value>
          <value code="2">MavLink Targeting</value>
          <value code="3">RC Targeting</value>
          <value code="4">GPS Point</value>
        </values>
      </param>
      <param humanName="Mount2 roll angle when in retracted position" name="MNT2_RETRACT_X" documentation="Mount2 roll angle when in retracted position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount2 tilt/pitch angle when in retracted position" name="MNT2_RETRACT_Y" documentation="Mount2 tilt/pitch angle when in retracted position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount2 yaw/pan angle when in retracted position" name="MNT2_RETRACT_Z" documentation="Mount2 yaw/pan angle when in retracted position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount2 roll angle when in neutral position" name="MNT2_NEUTRAL_X" documentation="Mount2 roll angle when in neutral position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount2 tilt/pitch angle when in neutral position" name="MNT2_NEUTRAL_Y" documentation="Mount2 tilt/pitch angle when in neutral position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Mount2 pan/yaw angle when in neutral position" name="MNT2_NEUTRAL_Z" documentation="Mount2 pan/yaw angle when in neutral position" user="Standard">
        <field name="Range">-180.00 179.99</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Stabilize Mount2's roll angle" name="MNT2_STAB_ROLL" documentation="enable roll stabilisation relative to Earth" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Stabilize Mount2's pitch/tilt angle" name="MNT2_STAB_TILT" documentation="enable tilt/pitch stabilisation relative to Earth" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Stabilize mount2 pan/yaw angle" name="MNT2_STAB_PAN" documentation="enable pan/yaw stabilisation relative to Earth" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Mount2's roll RC input channel" name="MNT2_RC_IN_ROLL" documentation="0 for none, any other for the RC channel to be used to control roll movements" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="5">RC5</value>
          <value code="6">RC6</value>
          <value code="7">RC7</value>
          <value code="8">RC8</value>
          <value code="9">RC9</value>
          <value code="10">RC10</value>
          <value code="11">RC11</value>
          <value code="12">RC12</value>
        </values>
      </param>
      <param humanName="Mount2's minimum roll angle" name="MNT2_ANGMIN_ROL" documentation="Mount2's minimum physical roll angular position" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Mount2's maximum roll angle" name="MNT2_ANGMAX_ROL" documentation="Mount2's maximum physical roll angular position" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Mount2's tilt (pitch) RC input channel" name="MNT2_RC_IN_TILT" documentation="0 for none, any other for the RC channel to be used to control tilt (pitch) movements" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="5">RC5</value>
          <value code="6">RC6</value>
          <value code="7">RC7</value>
          <value code="8">RC8</value>
          <value code="9">RC9</value>
          <value code="10">RC10</value>
          <value code="11">RC11</value>
          <value code="12">RC12</value>
        </values>
      </param>
      <param humanName="Mount2's minimum tilt angle" name="MNT2_ANGMIN_TIL" documentation="Mount2's minimum physical tilt (pitch) angular position" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Mount2's maximum tilt angle" name="MNT2_ANGMAX_TIL" documentation="Mount2's maximum physical tilt (pitch) angular position" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Mount2's pan (yaw) RC input channel" name="MNT2_RC_IN_PAN" documentation="0 for none, any other for the RC channel to be used to control pan (yaw) movements" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="5">RC5</value>
          <value code="6">RC6</value>
          <value code="7">RC7</value>
          <value code="8">RC8</value>
          <value code="9">RC9</value>
          <value code="10">RC10</value>
          <value code="11">RC11</value>
          <value code="12">RC12</value>
        </values>
      </param>
      <param humanName="Mount2's minimum pan angle" name="MNT2_ANGMIN_PAN" documentation="Mount2's minimum physical pan (yaw) angular position" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Mount2's maximum pan angle" name="MNT2_ANGMAX_PAN" documentation="MOunt2's maximum physical pan (yaw) angular position" user="Standard">
        <field name="Range">-18000 17999</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Mount2's Roll stabilization lead time" name="MNT2_LEAD_RLL" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate, compensating for servo delay. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
        <field name="Range">0.0 0.2</field>
        <field name="Increment">.005</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Mount2's Pitch stabilization lead time" name="MNT2_LEAD_PTCH" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
        <field name="Range">0.0 0.2</field>
        <field name="Increment">.005</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Mount2 Type" name="MNT2_TYPE" documentation="Mount Type (None, Servo or MAVLink)" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Servo</value>
          <value code="2">3DR Solo</value>
          <value code="3">Alexmos Serial</value>
          <value code="4">SToRM32 MAVLink</value>
          <value code="5">SToRM32 Serial</value>
        </values>
      </param>
    </parameters>
    <parameters name="MOT_">
      <param humanName="Matrix Yaw Min" name="MOT_YAW_HEADROOM" documentation="Yaw control is given at least this pwm in microseconds range" user="Advanced">
        <field name="Range">0 500</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Thrust Curve Expo" name="MOT_THST_EXPO" documentation="Motor thrust curve exponent (0.0 for linear to 1.0 for second order curve)" user="Advanced">
        <field name="Range">-1.0 1.0</field>
      </param>
      <param humanName="Motor Spin maximum" name="MOT_SPIN_MAX" documentation="Point at which the thrust saturates expressed as a number from 0 to 1 in the entire output range" user="Advanced">
        <values>
          <value code="0.9">Low</value>
          <value code="0.95">Default</value>
          <value code="1.0">High</value>
        </values>
      </param>
      <param humanName="Battery voltage compensation maximum voltage" name="MOT_BAT_VOLT_MAX" documentation="Battery voltage compensation maximum voltage (voltage above this will have no additional scaling effect on thrust).  Recommend 4.2 * cell count, 0 = Disabled" user="Advanced">
        <field name="Range">6 53</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Battery voltage compensation minimum voltage" name="MOT_BAT_VOLT_MIN" documentation="Battery voltage compensation minimum voltage (voltage below this will have no additional scaling effect on thrust).  Recommend 3.3 * cell count, 0 = Disabled" user="Advanced">
        <field name="Range">6 42</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Motor Current Max" name="MOT_BAT_CURR_MAX" documentation="Maximum current over which maximum throttle is limited (0 = Disabled)" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">A</field>
        <field name="UnitText">ampere</field>
      </param>
      <param humanName="Output PWM type" name="MOT_PWM_TYPE" documentation="This selects the output PWM type, allowing for normal PWM continuous output, OneShot, brushed or DShot motor output" user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">OneShot</value>
          <value code="2">OneShot125</value>
          <value code="3">Brushed</value>
          <value code="4">DShot150</value>
          <value code="5">DShot300</value>
          <value code="6">DShot600</value>
          <value code="7">DShot1200</value>
          <value code="8">PWMRange</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="PWM output minimum" name="MOT_PWM_MIN" documentation="This sets the min PWM output value in microseconds that will ever be output to the motors" user="Advanced">
        <field name="Range">0 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="PWM output maximum" name="MOT_PWM_MAX" documentation="This sets the max PWM value in microseconds that will ever be output to the motors" user="Advanced">
        <field name="Range">0 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Motor Spin minimum" name="MOT_SPIN_MIN" documentation="Point at which the thrust starts expressed as a number from 0 to 1 in the entire output range.  Should be higher than MOT_SPIN_ARM." user="Advanced">
        <values>
          <value code="0.0">Low</value>
          <value code="0.15">Default</value>
          <value code="0.3">High</value>
        </values>
      </param>
      <param humanName="Motor Spin armed" name="MOT_SPIN_ARM" documentation="Point at which the motors start to spin expressed as a number from 0 to 1 in the entire output range.  Should be lower than MOT_SPIN_MIN." user="Advanced">
        <values>
          <value code="0.0">Low</value>
          <value code="0.1">Default</value>
          <value code="0.2">High</value>
        </values>
      </param>
      <param humanName="Motor Current Max Time Constant" name="MOT_BAT_CURR_TC" documentation="Time constant used to limit the maximum current" user="Advanced">
        <field name="Range">0 10</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Thrust Hover Value" name="MOT_THST_HOVER" documentation="Motor thrust needed to hover expressed as a number from 0 to 1" user="Advanced">
        <field name="Range">0.2 0.8</field>
      </param>
      <param humanName="Hover Value Learning" name="MOT_HOVER_LEARN" documentation="Enable/Disable automatic learning of hover throttle" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Learn</value>
          <value code="2">Learn and Save</value>
        </values>
      </param>
      <param humanName="Motor PWM output disabled when disarmed" name="MOT_SAFE_DISARM" documentation="Disables motor PWM output when disarmed" user="Advanced">
        <values>
          <value code="0">PWM enabled while disarmed</value>
          <value code="1">PWM disabled while disarmed</value>
        </values>
      </param>
      <param humanName="Yaw Servo Max Lean Angle" name="MOT_YAW_SV_ANGLE" documentation="Yaw servo's maximum lean angle" user="Standard">
        <field name="Range">5 80</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Spool up time" name="MOT_SPOOL_TIME" documentation="Time in seconds to spool up the motors from zero to min throttle. " user="Advanced">
        <field name="Range">0 2</field>
        <field name="Increment">0.1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Motor boost scale" name="MOT_BOOST_SCALE" documentation="Booster motor output scaling factor vs main throttle.  The output to the BoostThrottle servo will be the main throttle times this scaling factor. A higher scaling factor will put more of the load on the booster motor. A value of 1 will set the BoostThrottle equal to the main throttle." user="Advanced">
        <field name="Range">0 5</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Battery compensation index" name="MOT_BAT_IDX" documentation="Which battery monitor should be used for doing compensation" user="Advanced">
        <values>
          <value code="0">First battery</value>
          <value code="1">Second battery</value>
        </values>
      </param>
      <param humanName="Output slew time for increasing throttle" name="MOT_SLEW_UP_TIME" documentation="Time in seconds to slew output from zero to full. This is used to limit the rate at which output can change. Range is constrained between 0 and 0.5." user="Advanced">
        <field name="Range">0 .5</field>
        <field name="Increment">0.001</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Output slew time for decreasing throttle" name="MOT_SLEW_DN_TIME" documentation="Time in seconds to slew output from full to zero. This is used to limit the rate at which output can change.  Range is constrained between 0 and 0.5." user="Advanced">
        <field name="Range">0 .5</field>
        <field name="Increment">0.001</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Time taken to disable and enable the motor PWM output when disarmed and armed." name="MOT_SAFE_TIME" documentation="Time taken to disable and enable the motor PWM output when disarmed and armed." user="Advanced">
        <field name="Range">0 5</field>
        <field name="Increment">0.001</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
    </parameters>
    <parameters name="MSP">
      <param humanName="Cell count override" name="MSP_OSD_NCELLS" documentation="Used for average cell voltage calculation" user="Standard">
        <values>
          <value code="0">Auto</value>
          <value code="1">1</value>
          <value code="2">2</value>
          <value code="3">3</value>
          <value code="4">4</value>
          <value code="5">5</value>
          <value code="6">6</value>
          <value code="7">7</value>
          <value code="8">8</value>
          <value code="9">9</value>
          <value code="10">10</value>
          <value code="11">11</value>
          <value code="12">12</value>
          <value code="13">13</value>
          <value code="14">14</value>
        </values>
      </param>
      <param humanName="MSP OSD Options" name="MSP_OPTIONS" documentation="A bitmask to set some MSP specific options" user="Standard">
        <field name="Bitmask">0:EnableTelemetryMode, 1: DisableDJIWorkarounds, 2:EnableBTFLFonts</field>
      </param>
    </parameters>
    <parameters name="NTF_">
      <param humanName="LED Brightness" name="NTF_LED_BRIGHT" documentation="Select the RGB LED brightness level. When USB is connected brightness will never be higher than low regardless of the setting." user="Advanced">
        <values>
          <value code="0">Off</value>
          <value code="1">Low</value>
          <value code="2">Medium</value>
          <value code="3">High</value>
        </values>
      </param>
      <param humanName="Buzzer Driver Types" name="NTF_BUZZ_TYPES" documentation="Controls what types of Buzzer will be enabled" user="Advanced">
        <field name="Bitmask">0:Built-in buzzer, 1:DShot, 2:DroneCAN</field>
      </param>
      <param humanName="Specifies colour source for the RGBLed" name="NTF_LED_OVERRIDE" documentation="Specifies the source for the colours and brightness for the LED.  OutbackChallenge conforms to the MedicalExpress (https://uavchallenge.org/medical-express/) rules, essentially &quot;Green&quot; is disarmed (safe-to-approach), &quot;Red&quot; is armed (not safe-to-approach). Traffic light is a simplified color set, red when armed, yellow when the safety switch is not surpressing outputs (but disarmed), and green when outputs are surpressed and disarmed, the LED will blink faster if disarmed and failing arming checks." user="Advanced">
        <values>
          <value code="0">Standard</value>
          <value code="1">MAVLink/Scripting/AP_Periph</value>
          <value code="2">OutbackChallenge</value>
          <value code="3">TrafficLight</value>
        </values>
      </param>
      <param humanName="Type of on-board I2C display" name="NTF_DISPLAY_TYPE" documentation="This sets up the type of on-board I2C display. Disabled by default." user="Advanced">
        <values>
          <value code="0">Disable</value>
          <value code="1">ssd1306</value>
          <value code="2">sh1106</value>
          <value code="10">SITL</value>
        </values>
      </param>
      <param humanName="OreoLED Theme" name="NTF_OREO_THEME" documentation="Enable/Disable Solo Oreo LED driver, 0 to disable, 1 for Aircraft theme, 2 for Rover theme" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Aircraft</value>
          <value code="2">Rover</value>
        </values>
      </param>
      <param humanName="Buzzer pin" name="NTF_BUZZ_PIN" documentation="Enables to connect active buzzer to arbitrary pin. Requires 3-pin buzzer or additional MOSFET!" user="Advanced">
        <values>
          <value code="0">Disabled</value>
        </values>
      </param>
      <param humanName="LED Driver Types" name="NTF_LED_TYPES" documentation="Controls what types of LEDs will be enabled" user="Advanced">
        <field name="Bitmask">0:Built-in LED, 1:Internal ToshibaLED, 2:External ToshibaLED, 3:External PCA9685, 4:Oreo LED, 5:DroneCAN, 6:NCP5623 External, 7:NCP5623 Internal, 8:NeoPixel, 9:ProfiLED, 10:Scripting, 11:DShot, 12:ProfiLED_SPI</field>
      </param>
      <param humanName="Buzzer-on pin logic level" name="NTF_BUZZ_ON_LVL" documentation="Specifies pin level that indicates buzzer should play" user="Advanced">
        <values>
          <value code="0">LowIsOn</value>
          <value code="1">HighIsOn</value>
        </values>
      </param>
      <param humanName="Buzzer volume" name="NTF_BUZZ_VOLUME" documentation="Control the volume of the buzzer">
        <field name="Range">0 100</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Serial LED String Length" name="NTF_LED_LEN" documentation="The number of Serial LED's to use for notifications (NeoPixel's and ProfiLED)" user="Advanced">
        <field name="Range">1 32</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="OA_">
      <param humanName="Object Avoidance Path Planning algorithm to use" name="OA_TYPE" documentation="Enabled/disable path planning around obstacles" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">BendyRuler</value>
          <value code="2">Dijkstra</value>
          <value code="3">Dijkstra with BendyRuler</value>
        </values>
      </param>
      <param humanName="Object Avoidance wide margin distance" name="OA_MARGIN_MAX" documentation="Object Avoidance will ignore objects more than this many meters from vehicle" user="Standard">
        <field name="Range">0.1 100</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Options while recovering from Object Avoidance" name="OA_OPTIONS" documentation="Bitmask which will govern vehicles behaviour while recovering from Obstacle Avoidance (i.e Avoidance is turned off after the path ahead is clear).   " user="Standard">
        <field name="Bitmask">1: log Dijkstra points</field>
      </param>
    </parameters>
    <parameters name="OA_BR_">
      <param humanName="Object Avoidance look ahead distance maximum" name="OA_BR_LOOKAHEAD" documentation="Object Avoidance will look this many meters ahead of vehicle" user="Standard">
        <field name="Range">1 100</field>
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Obstacle Avoidance margin ratio for BendyRuler to change bearing significantly " name="OA_BR_CONT_RATIO" documentation=" BendyRuler will avoid changing bearing unless ratio of previous margin from obstacle (or fence) to present calculated margin is atleast this much." user="Standard">
        <field name="Range">1.1 2</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="BendyRuler's bearing change resistance threshold angle   " name="OA_BR_CONT_ANGLE" documentation=" BendyRuler will resist changing current bearing if the change in bearing is over this angle" user="Standard">
        <field name="Range">20 180</field>
        <field name="Increment">5</field>
      </param>
      <param humanName="Type of BendyRuler" name="OA_BR_TYPE" documentation="BendyRuler will search for clear path along the direction defined by this parameter" user="Standard">
        <values>
          <value code="1">Horizontal search</value>
          <value code="2">Vertical search</value>
        </values>
      </param>
    </parameters>
    <parameters name="OA_DB_">
      <param humanName="OADatabase maximum number of points" name="OA_DB_SIZE" documentation="OADatabase maximum number of points. Set to 0 to disable the OA Database. Larger means more points but is more cpu intensive to process" user="Advanced">
        <field name="Range">0 10000</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="OADatabase item timeout" name="OA_DB_EXPIRE" documentation="OADatabase item timeout. The time an item will linger without any updates before it expires. Zero means never expires which is useful for a sent-once static environment but terrible for dynamic ones." user="Advanced">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="OADatabase queue maximum number of points" name="OA_DB_QUEUE_SIZE" documentation="OADatabase queue maximum number of points. This in an input buffer size. Larger means it can handle larger bursts of incoming data points to filter into the database. No impact on cpu, only RAM. Recommend larger for faster datalinks or for sensors that generate a lot of data." user="Advanced">
        <field name="Range">1 200</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="OADatabase output level" name="OA_DB_OUTPUT" documentation="OADatabase output level to configure which database objects are sent to the ground station. All data is always available internally for avoidance algorithms." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Send only HIGH importance items</value>
          <value code="2">Send HIGH and NORMAL importance items</value>
          <value code="3">Send all items</value>
        </values>
      </param>
      <param humanName="OADatabase beam width" name="OA_DB_BEAM_WIDTH" documentation="Beam width of incoming lidar data" user="Advanced">
        <field name="Range">1 10</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="OADatabase Minimum  radius" name="OA_DB_RADIUS_MIN" documentation="Minimum radius of objects held in database" user="Advanced">
        <field name="Range">0 10</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="OADatabase Distance Maximum" name="OA_DB_DIST_MAX" documentation="Maximum distance of objects held in database.  Set to zero to disable the limits" user="Advanced">
        <field name="Range">0 10</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="OADatabase minimum altitude above home before storing obstacles" name="OA_DB_ALT_MIN" documentation="OADatabase will reject obstacle's if vehicle's altitude above home is below this parameter, in a 3 meter radius around home. Set 0 to disable this feature." user="Advanced">
        <field name="Range">0 4</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="OSD">
      <param humanName="OSD type" name="OSD_TYPE" documentation="OSD type. TXONLY makes the OSD parameter selection available to other modules even if there is no native OSD support on the board, for instance CRSF." user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">MAX7456</value>
          <value code="2">SITL</value>
          <value code="3">MSP</value>
          <value code="4">TXONLY</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Screen switch transmitter channel" name="OSD_CHAN" documentation="This sets the channel used to switch different OSD screens." user="Standard">
        <values>
          <value code="0">Disable</value>
          <value code="5">Chan5</value>
          <value code="6">Chan6</value>
          <value code="7">Chan7</value>
          <value code="8">Chan8</value>
          <value code="9">Chan9</value>
          <value code="10">Chan10</value>
          <value code="11">Chan11</value>
          <value code="12">Chan12</value>
          <value code="13">Chan13</value>
          <value code="14">Chan14</value>
          <value code="15">Chan15</value>
          <value code="16">Chan16</value>
        </values>
      </param>
      <param humanName="Screen switch method" name="OSD_SW_METHOD" documentation="This sets the method used to switch different OSD screens." user="Standard">
        <values>
          <value code="0">switch to next screen if channel value was changed</value>
          <value code="1">select screen based on pwm ranges specified for each screen</value>
          <value code="2">switch to next screen after low to high transition and every 1s while channel value is high</value>
        </values>
      </param>
      <param humanName="OSD Options" name="OSD_OPTIONS" documentation="This sets options that change the display" user="Standard">
        <field name="Bitmask">0:UseDecimalPack, 1:InvertedWindPointer, 2:InvertedAHRoll, 3:Convert feet to miles at 5280ft instead of 10000ft, 4:DisableCrosshair</field>
      </param>
      <param humanName="OSD Font" name="OSD_FONT" documentation="This sets which OSD font to use. It is an integer from 0 to the number of fonts available" user="Standard">
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="OSD vertical offset" name="OSD_V_OFFSET" documentation="Sets vertical offset of the osd inside image" user="Standard">
        <field name="Range">0 31</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="OSD horizontal offset" name="OSD_H_OFFSET" documentation="Sets horizontal offset of the osd inside image" user="Standard">
        <field name="Range">0 63</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="RSSI warn level (in %)" name="OSD_W_RSSI" documentation="Set level at which RSSI item will flash" user="Standard">
        <field name="Range">0 99</field>
      </param>
      <param humanName="NSAT warn level" name="OSD_W_NSAT" documentation="Set level at which NSAT item will flash" user="Standard">
        <field name="Range">1 30</field>
      </param>
      <param humanName="BAT_VOLT warn level" name="OSD_W_BATVOLT" documentation="Set level at which BAT_VOLT item will flash" user="Standard">
        <field name="Range">0 100</field>
      </param>
      <param humanName="Display Units" name="OSD_UNITS" documentation="Sets the units to use in displaying items" user="Standard">
        <values>
          <value code="0">Metric</value>
          <value code="1">Imperial</value>
          <value code="2">SI</value>
          <value code="3">Aviation</value>
        </values>
      </param>
      <param humanName="Message display duration in seconds" name="OSD_MSG_TIME" documentation="Sets message duration seconds" user="Standard">
        <field name="Range">1 20</field>
      </param>
      <param humanName="Arm screen" name="OSD_ARM_SCR" documentation="Screen to be shown on Arm event. Zero to disable the feature." user="Standard">
        <field name="Range">0 4</field>
      </param>
      <param humanName="Disarm screen" name="OSD_DSARM_SCR" documentation="Screen to be shown on disarm event. Zero to disable the feature." user="Standard">
        <field name="Range">0 4</field>
      </param>
      <param humanName="Failsafe screen" name="OSD_FS_SCR" documentation="Screen to be shown on failsafe event. Zero to disable the feature." user="Standard">
        <field name="Range">0 4</field>
      </param>
      <param humanName="Button delay" name="OSD_BTN_DELAY" documentation="Debounce time in ms for stick commanded parameter navigation." user="Advanced">
        <field name="Range">0 3000</field>
      </param>
      <param humanName="Terrain warn level" name="OSD_W_TERR" documentation="Set level below which TER_HGT item will flash. -1 disables." user="Standard">
        <field name="Range">-1 3000</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="AVGCELLV warn level" name="OSD_W_AVGCELLV" documentation="Set level at which AVGCELLV item will flash" user="Standard">
        <field name="Range">0 100</field>
      </param>
      <param humanName="Battery cell count" name="OSD_CELL_COUNT" documentation="Used for average cell voltage display. -1 disables, 0 uses cell count autodetection for well charged LIPO/LIION batteries at connection, other values manually select cell count used." user="Advanced">
        <field name="Increment">1</field>
      </param>
      <param humanName="RESTVOLT warn level" name="OSD_W_RESTVOLT" documentation="Set level at which RESTVOLT item will flash" user="Standard">
        <field name="Range">0 100</field>
      </param>
    </parameters>
    <parameters name="OSD1_">
      <param humanName="Enable screen" name="OSD1_ENABLE" documentation="Enable this screen" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Transmitter switch screen minimum pwm" name="OSD1_CHAN_MIN" documentation="This sets the PWM lower limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="Transmitter switch screen maximum pwm" name="OSD1_CHAN_MAX" documentation="This sets the PWM upper limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="ALTITUDE_EN" name="OSD1_ALTITUDE_EN" documentation="Enables display of altitude AGL">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ALTITUDE_X" name="OSD1_ALTITUDE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ALTITUDE_Y" name="OSD1_ALTITUDE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATVOLT_EN" name="OSD1_BAT_VOLT_EN" documentation="Displays main battery voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATVOLT_X" name="OSD1_BAT_VOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATVOLT_Y" name="OSD1_BAT_VOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RSSI_EN" name="OSD1_RSSI_EN" documentation="Displays RC signal strength">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RSSI_X" name="OSD1_RSSI_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RSSI_Y" name="OSD1_RSSI_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT_EN" name="OSD1_CURRENT_EN" documentation="Displays main battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT_X" name="OSD1_CURRENT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT_Y" name="OSD1_CURRENT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATUSED_EN" name="OSD1_BATUSED_EN" documentation="Displays primary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATUSED_X" name="OSD1_BATUSED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATUSED_Y" name="OSD1_BATUSED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SATS_EN" name="OSD1_SATS_EN" documentation="Displays number of acquired satellites">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SATS_X" name="OSD1_SATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SATS_Y" name="OSD1_SATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTMODE_EN" name="OSD1_FLTMODE_EN" documentation="Displays flight mode">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTMODE_X" name="OSD1_FLTMODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTMODE_Y" name="OSD1_FLTMODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="MESSAGE_EN" name="OSD1_MESSAGE_EN" documentation="Displays Mavlink messages">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="MESSAGE_X" name="OSD1_MESSAGE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="MESSAGE_Y" name="OSD1_MESSAGE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GSPEED_EN" name="OSD1_GSPEED_EN" documentation="Displays GPS ground speed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GSPEED_X" name="OSD1_GSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GSPEED_Y" name="OSD1_GSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HORIZON_EN" name="OSD1_HORIZON_EN" documentation="Displays artificial horizon">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HORIZON_X" name="OSD1_HORIZON_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HORIZON_Y" name="OSD1_HORIZON_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOME_EN" name="OSD1_HOME_EN" documentation="Displays distance and relative direction to HOME">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOME_X" name="OSD1_HOME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOME_Y" name="OSD1_HOME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HEADING_EN" name="OSD1_HEADING_EN" documentation="Displays heading">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HEADING_X" name="OSD1_HEADING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HEADING_Y" name="OSD1_HEADING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="THROTTLE_EN" name="OSD1_THROTTLE_EN" documentation="Displays actual throttle percentage being sent to motor(s)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="THROTTLE_X" name="OSD1_THROTTLE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="THROTTLE_Y" name="OSD1_THROTTLE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="COMPASS_EN" name="OSD1_COMPASS_EN" documentation="Enables display of compass rose">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="COMPASS_X" name="OSD1_COMPASS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="COMPASS_Y" name="OSD1_COMPASS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WIND_EN" name="OSD1_WIND_EN" documentation="Displays wind speed and relative direction, on Rover this is the apparent wind speed and direction from the windvane, if fitted">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WIND_X" name="OSD1_WIND_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WIND_Y" name="OSD1_WIND_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPEED_EN" name="OSD1_ASPEED_EN" documentation="Displays airspeed value being used by TECS (fused value)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPEED_X" name="OSD1_ASPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPEED_Y" name="OSD1_ASPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VSPEED_EN" name="OSD1_VSPEED_EN" documentation="Displays climb rate">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VSPEED_X" name="OSD1_VSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VSPEED_Y" name="OSD1_VSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCTEMP_EN" name="OSD1_ESCTEMP_EN" documentation="Displays first esc's temp">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCTEMP_X" name="OSD1_ESCTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCTEMP_Y" name="OSD1_ESCTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCRPM_EN" name="OSD1_ESCRPM_EN" documentation="Displays first esc's rpm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCRPM_X" name="OSD1_ESCRPM_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCRPM_Y" name="OSD1_ESCRPM_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCAMPS_EN" name="OSD1_ESCAMPS_EN" documentation="Displays first esc's current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCAMPS_X" name="OSD1_ESCAMPS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCAMPS_Y" name="OSD1_ESCAMPS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLAT_EN" name="OSD1_GPSLAT_EN" documentation="Displays GPS latitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLAT_X" name="OSD1_GPSLAT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLAT_Y" name="OSD1_GPSLAT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLONG_EN" name="OSD1_GPSLONG_EN" documentation="Displays GPS longitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLONG_X" name="OSD1_GPSLONG_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLONG_Y" name="OSD1_GPSLONG_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ROLL_EN" name="OSD1_ROLL_EN" documentation="Displays degrees of roll from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ROLL_X" name="OSD1_ROLL_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ROLL_Y" name="OSD1_ROLL_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PITCH_EN" name="OSD1_PITCH_EN" documentation="Displays degrees of pitch from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PITCH_X" name="OSD1_PITCH_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PITCH_Y" name="OSD1_PITCH_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TEMP_EN" name="OSD1_TEMP_EN" documentation="Displays temperature reported by primary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TEMP_X" name="OSD1_TEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TEMP_Y" name="OSD1_TEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HDOP_EN" name="OSD1_HDOP_EN" documentation="Displays Horizontal Dilution Of Position">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HDOP_X" name="OSD1_HDOP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HDOP_Y" name="OSD1_HDOP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WAYPOINT_EN" name="OSD1_WAYPOINT_EN" documentation="Displays bearing and distance to next waypoint">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WAYPOINT_X" name="OSD1_WAYPOINT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WAYPOINT_Y" name="OSD1_WAYPOINT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="XTRACK_EN" name="OSD1_XTRACK_EN" documentation="Displays crosstrack error">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="XTRACK_X" name="OSD1_XTRACK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="XTRACK_Y" name="OSD1_XTRACK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="DIST_EN" name="OSD1_DIST_EN" documentation="Displays total distance flown">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="DIST_X" name="OSD1_DIST_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="DIST_Y" name="OSD1_DIST_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="STATS_EN" name="OSD1_STATS_EN" documentation="Displays flight stats">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="STATS_X" name="OSD1_STATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="STATS_Y" name="OSD1_STATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTIME_EN" name="OSD1_FLTIME_EN" documentation="Displays total flight time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTIME_X" name="OSD1_FLTIME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTIME_Y" name="OSD1_FLTIME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLIMBEFF_EN" name="OSD1_CLIMBEFF_EN" documentation="Displays climb efficiency (climb rate/current)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLIMBEFF_X" name="OSD1_CLIMBEFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLIMBEFF_Y" name="OSD1_CLIMBEFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="EFF_EN" name="OSD1_EFF_EN" documentation="Displays flight efficiency (mAh/km or /mi)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="EFF_X" name="OSD1_EFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="EFF_Y" name="OSD1_EFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BTEMP_EN" name="OSD1_BTEMP_EN" documentation="Displays temperature reported by secondary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BTEMP_X" name="OSD1_BTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BTEMP_Y" name="OSD1_BTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ATEMP_EN" name="OSD1_ATEMP_EN" documentation="Displays temperature reported by primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ATEMP_X" name="OSD1_ATEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ATEMP_Y" name="OSD1_ATEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2VLT_EN" name="OSD1_BAT2_VLT_EN" documentation="Displays battery2 voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2VLT_X" name="OSD1_BAT2_VLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2VLT_Y" name="OSD1_BAT2_VLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2USED_EN" name="OSD1_BAT2USED_EN" documentation="Displays secondary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2USED_X" name="OSD1_BAT2USED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2USED_Y" name="OSD1_BAT2USED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD2_EN" name="OSD1_ASPD2_EN" documentation="Displays airspeed reported directly from secondary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD2_X" name="OSD1_ASPD2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD2_Y" name="OSD1_ASPD2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD1_EN" name="OSD1_ASPD1_EN" documentation="Displays airspeed reported directly from primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD1_X" name="OSD1_ASPD1_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD1_Y" name="OSD1_ASPD1_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLK_EN" name="OSD1_CLK_EN" documentation="Displays a clock panel based on AP_RTC local time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLK_X" name="OSD1_CLK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLK_Y" name="OSD1_CLK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SIDEBARS_EN" name="OSD1_SIDEBARS_EN" documentation="Displays artificial horizon side bars">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SIDEBARS_X" name="OSD1_SIDEBARS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SIDEBARS_Y" name="OSD1_SIDEBARS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CRSSHAIR_EN" name="OSD1_CRSSHAIR_EN" documentation="Displays artificial horizon crosshair (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CRSSHAIR_X" name="OSD1_CRSSHAIR_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CRSSHAIR_Y" name="OSD1_CRSSHAIR_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIST_EN" name="OSD1_HOMEDIST_EN" documentation="Displays distance from HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIST_X" name="OSD1_HOMEDIST_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIST_Y" name="OSD1_HOMEDIST_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIR_EN" name="OSD1_HOMEDIR_EN" documentation="Displays relative direction to HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIR_X" name="OSD1_HOMEDIR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIR_Y" name="OSD1_HOMEDIR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="POWER_EN" name="OSD1_POWER_EN" documentation="Displays power (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="POWER_X" name="OSD1_POWER_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="POWER_Y" name="OSD1_POWER_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CELL_VOLT_EN" name="OSD1_CELLVOLT_EN" documentation="Displays average cell voltage (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CELL_VOLT_X" name="OSD1_CELLVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CELL_VOLT_Y" name="OSD1_CELLVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATT_BAR_EN" name="OSD1_BATTBAR_EN" documentation="Displays battery usage bar (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATT_BAR_X" name="OSD1_BATTBAR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATT_BAR_Y" name="OSD1_BATTBAR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ARMING_EN" name="OSD1_ARMING_EN" documentation="Displays arming status (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ARMING_X" name="OSD1_ARMING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ARMING_Y" name="OSD1_ARMING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PLUSCODE_EN" name="OSD1_PLUSCODE_EN" documentation="Displays pluscode (OLC) element">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PLUSCODE_X" name="OSD1_PLUSCODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PLUSCODE_Y" name="OSD1_PLUSCODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CALLSIGN_EN" name="OSD1_CALLSIGN_EN" documentation="Displays callsign from callsign.txt on microSD card">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CALLSIGN_X" name="OSD1_CALLSIGN_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CALLSIGN_Y" name="OSD1_CALLSIGN_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT2_EN" name="OSD1_CURRENT2_EN" documentation="Displays 2nd battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT2_X" name="OSD1_CURRENT2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT2_Y" name="OSD1_CURRENT2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VTX_PWR_EN" name="OSD1_VTX_PWR_EN" documentation="Displays VTX Power">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VTX_PWR_X" name="OSD1_VTX_PWR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VTX_PWR_Y" name="OSD1_VTX_PWR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TER_HGT_EN" name="OSD1_TER_HGT_EN" documentation="Displays Height above terrain">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TER_HGT_X" name="OSD1_TER_HGT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TER_HGT_Y" name="OSD1_TER_HGT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="AVGCELLV_EN" name="OSD1_AVGCELLV_EN" documentation="Displays average cell voltage. WARNING: this can be inaccurate if the cell count is not detected or set properly. If the  the battery is far from fully charged the detected cell count might not be accurate if auto cell count detection is used (OSD_CELL_COUNT=0).">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="AVGCELLV_X" name="OSD1_AVGCELLV_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="AVGCELLV_Y" name="OSD1_AVGCELLV_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RESTVOLT_EN" name="OSD1_RESTVOLT_EN" documentation="Displays main battery resting voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RESTVOLT_X" name="OSD1_RESTVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RESTVOLT_Y" name="OSD1_RESTVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FENCE_EN" name="OSD1_FENCE_EN" documentation="Displays indication of fence enable and breach">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FENCE_X" name="OSD1_FENCE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FENCE_Y" name="OSD1_FENCE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RNGF_EN" name="OSD1_RNGF_EN" documentation="Displays a rangefinder's distance in cm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RNGF_X" name="OSD1_RNGF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RNGF_Y" name="OSD1_RNGF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="LINK_Q_EN" name="OSD1_LINK_Q_EN" documentation="Displays Receiver link quality">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="LINK_Q_X" name="OSD1_LINK_Q_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="LINK_Q_Y" name="OSD1_LINK_Q_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
    </parameters>
    <parameters name="OSD2_">
      <param humanName="Enable screen" name="OSD2_ENABLE" documentation="Enable this screen" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Transmitter switch screen minimum pwm" name="OSD2_CHAN_MIN" documentation="This sets the PWM lower limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="Transmitter switch screen maximum pwm" name="OSD2_CHAN_MAX" documentation="This sets the PWM upper limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="ALTITUDE_EN" name="OSD2_ALTITUDE_EN" documentation="Enables display of altitude AGL">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ALTITUDE_X" name="OSD2_ALTITUDE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ALTITUDE_Y" name="OSD2_ALTITUDE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATVOLT_EN" name="OSD2_BAT_VOLT_EN" documentation="Displays main battery voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATVOLT_X" name="OSD2_BAT_VOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATVOLT_Y" name="OSD2_BAT_VOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RSSI_EN" name="OSD2_RSSI_EN" documentation="Displays RC signal strength">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RSSI_X" name="OSD2_RSSI_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RSSI_Y" name="OSD2_RSSI_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT_EN" name="OSD2_CURRENT_EN" documentation="Displays main battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT_X" name="OSD2_CURRENT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT_Y" name="OSD2_CURRENT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATUSED_EN" name="OSD2_BATUSED_EN" documentation="Displays primary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATUSED_X" name="OSD2_BATUSED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATUSED_Y" name="OSD2_BATUSED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SATS_EN" name="OSD2_SATS_EN" documentation="Displays number of acquired satellites">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SATS_X" name="OSD2_SATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SATS_Y" name="OSD2_SATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTMODE_EN" name="OSD2_FLTMODE_EN" documentation="Displays flight mode">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTMODE_X" name="OSD2_FLTMODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTMODE_Y" name="OSD2_FLTMODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="MESSAGE_EN" name="OSD2_MESSAGE_EN" documentation="Displays Mavlink messages">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="MESSAGE_X" name="OSD2_MESSAGE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="MESSAGE_Y" name="OSD2_MESSAGE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GSPEED_EN" name="OSD2_GSPEED_EN" documentation="Displays GPS ground speed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GSPEED_X" name="OSD2_GSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GSPEED_Y" name="OSD2_GSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HORIZON_EN" name="OSD2_HORIZON_EN" documentation="Displays artificial horizon">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HORIZON_X" name="OSD2_HORIZON_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HORIZON_Y" name="OSD2_HORIZON_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOME_EN" name="OSD2_HOME_EN" documentation="Displays distance and relative direction to HOME">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOME_X" name="OSD2_HOME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOME_Y" name="OSD2_HOME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HEADING_EN" name="OSD2_HEADING_EN" documentation="Displays heading">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HEADING_X" name="OSD2_HEADING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HEADING_Y" name="OSD2_HEADING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="THROTTLE_EN" name="OSD2_THROTTLE_EN" documentation="Displays actual throttle percentage being sent to motor(s)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="THROTTLE_X" name="OSD2_THROTTLE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="THROTTLE_Y" name="OSD2_THROTTLE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="COMPASS_EN" name="OSD2_COMPASS_EN" documentation="Enables display of compass rose">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="COMPASS_X" name="OSD2_COMPASS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="COMPASS_Y" name="OSD2_COMPASS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WIND_EN" name="OSD2_WIND_EN" documentation="Displays wind speed and relative direction, on Rover this is the apparent wind speed and direction from the windvane, if fitted">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WIND_X" name="OSD2_WIND_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WIND_Y" name="OSD2_WIND_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPEED_EN" name="OSD2_ASPEED_EN" documentation="Displays airspeed value being used by TECS (fused value)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPEED_X" name="OSD2_ASPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPEED_Y" name="OSD2_ASPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VSPEED_EN" name="OSD2_VSPEED_EN" documentation="Displays climb rate">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VSPEED_X" name="OSD2_VSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VSPEED_Y" name="OSD2_VSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCTEMP_EN" name="OSD2_ESCTEMP_EN" documentation="Displays first esc's temp">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCTEMP_X" name="OSD2_ESCTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCTEMP_Y" name="OSD2_ESCTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCRPM_EN" name="OSD2_ESCRPM_EN" documentation="Displays first esc's rpm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCRPM_X" name="OSD2_ESCRPM_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCRPM_Y" name="OSD2_ESCRPM_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCAMPS_EN" name="OSD2_ESCAMPS_EN" documentation="Displays first esc's current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCAMPS_X" name="OSD2_ESCAMPS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCAMPS_Y" name="OSD2_ESCAMPS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLAT_EN" name="OSD2_GPSLAT_EN" documentation="Displays GPS latitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLAT_X" name="OSD2_GPSLAT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLAT_Y" name="OSD2_GPSLAT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLONG_EN" name="OSD2_GPSLONG_EN" documentation="Displays GPS longitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLONG_X" name="OSD2_GPSLONG_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLONG_Y" name="OSD2_GPSLONG_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ROLL_EN" name="OSD2_ROLL_EN" documentation="Displays degrees of roll from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ROLL_X" name="OSD2_ROLL_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ROLL_Y" name="OSD2_ROLL_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PITCH_EN" name="OSD2_PITCH_EN" documentation="Displays degrees of pitch from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PITCH_X" name="OSD2_PITCH_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PITCH_Y" name="OSD2_PITCH_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TEMP_EN" name="OSD2_TEMP_EN" documentation="Displays temperature reported by primary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TEMP_X" name="OSD2_TEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TEMP_Y" name="OSD2_TEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HDOP_EN" name="OSD2_HDOP_EN" documentation="Displays Horizontal Dilution Of Position">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HDOP_X" name="OSD2_HDOP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HDOP_Y" name="OSD2_HDOP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WAYPOINT_EN" name="OSD2_WAYPOINT_EN" documentation="Displays bearing and distance to next waypoint">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WAYPOINT_X" name="OSD2_WAYPOINT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WAYPOINT_Y" name="OSD2_WAYPOINT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="XTRACK_EN" name="OSD2_XTRACK_EN" documentation="Displays crosstrack error">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="XTRACK_X" name="OSD2_XTRACK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="XTRACK_Y" name="OSD2_XTRACK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="DIST_EN" name="OSD2_DIST_EN" documentation="Displays total distance flown">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="DIST_X" name="OSD2_DIST_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="DIST_Y" name="OSD2_DIST_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="STATS_EN" name="OSD2_STATS_EN" documentation="Displays flight stats">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="STATS_X" name="OSD2_STATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="STATS_Y" name="OSD2_STATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTIME_EN" name="OSD2_FLTIME_EN" documentation="Displays total flight time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTIME_X" name="OSD2_FLTIME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTIME_Y" name="OSD2_FLTIME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLIMBEFF_EN" name="OSD2_CLIMBEFF_EN" documentation="Displays climb efficiency (climb rate/current)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLIMBEFF_X" name="OSD2_CLIMBEFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLIMBEFF_Y" name="OSD2_CLIMBEFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="EFF_EN" name="OSD2_EFF_EN" documentation="Displays flight efficiency (mAh/km or /mi)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="EFF_X" name="OSD2_EFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="EFF_Y" name="OSD2_EFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BTEMP_EN" name="OSD2_BTEMP_EN" documentation="Displays temperature reported by secondary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BTEMP_X" name="OSD2_BTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BTEMP_Y" name="OSD2_BTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ATEMP_EN" name="OSD2_ATEMP_EN" documentation="Displays temperature reported by primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ATEMP_X" name="OSD2_ATEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ATEMP_Y" name="OSD2_ATEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2VLT_EN" name="OSD2_BAT2_VLT_EN" documentation="Displays battery2 voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2VLT_X" name="OSD2_BAT2_VLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2VLT_Y" name="OSD2_BAT2_VLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2USED_EN" name="OSD2_BAT2USED_EN" documentation="Displays secondary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2USED_X" name="OSD2_BAT2USED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2USED_Y" name="OSD2_BAT2USED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD2_EN" name="OSD2_ASPD2_EN" documentation="Displays airspeed reported directly from secondary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD2_X" name="OSD2_ASPD2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD2_Y" name="OSD2_ASPD2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD1_EN" name="OSD2_ASPD1_EN" documentation="Displays airspeed reported directly from primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD1_X" name="OSD2_ASPD1_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD1_Y" name="OSD2_ASPD1_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLK_EN" name="OSD2_CLK_EN" documentation="Displays a clock panel based on AP_RTC local time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLK_X" name="OSD2_CLK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLK_Y" name="OSD2_CLK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SIDEBARS_EN" name="OSD2_SIDEBARS_EN" documentation="Displays artificial horizon side bars">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SIDEBARS_X" name="OSD2_SIDEBARS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SIDEBARS_Y" name="OSD2_SIDEBARS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CRSSHAIR_EN" name="OSD2_CRSSHAIR_EN" documentation="Displays artificial horizon crosshair (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CRSSHAIR_X" name="OSD2_CRSSHAIR_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CRSSHAIR_Y" name="OSD2_CRSSHAIR_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIST_EN" name="OSD2_HOMEDIST_EN" documentation="Displays distance from HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIST_X" name="OSD2_HOMEDIST_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIST_Y" name="OSD2_HOMEDIST_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIR_EN" name="OSD2_HOMEDIR_EN" documentation="Displays relative direction to HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIR_X" name="OSD2_HOMEDIR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIR_Y" name="OSD2_HOMEDIR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="POWER_EN" name="OSD2_POWER_EN" documentation="Displays power (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="POWER_X" name="OSD2_POWER_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="POWER_Y" name="OSD2_POWER_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CELL_VOLT_EN" name="OSD2_CELLVOLT_EN" documentation="Displays average cell voltage (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CELL_VOLT_X" name="OSD2_CELLVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CELL_VOLT_Y" name="OSD2_CELLVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATT_BAR_EN" name="OSD2_BATTBAR_EN" documentation="Displays battery usage bar (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATT_BAR_X" name="OSD2_BATTBAR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATT_BAR_Y" name="OSD2_BATTBAR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ARMING_EN" name="OSD2_ARMING_EN" documentation="Displays arming status (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ARMING_X" name="OSD2_ARMING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ARMING_Y" name="OSD2_ARMING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PLUSCODE_EN" name="OSD2_PLUSCODE_EN" documentation="Displays pluscode (OLC) element">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PLUSCODE_X" name="OSD2_PLUSCODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PLUSCODE_Y" name="OSD2_PLUSCODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CALLSIGN_EN" name="OSD2_CALLSIGN_EN" documentation="Displays callsign from callsign.txt on microSD card">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CALLSIGN_X" name="OSD2_CALLSIGN_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CALLSIGN_Y" name="OSD2_CALLSIGN_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT2_EN" name="OSD2_CURRENT2_EN" documentation="Displays 2nd battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT2_X" name="OSD2_CURRENT2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT2_Y" name="OSD2_CURRENT2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VTX_PWR_EN" name="OSD2_VTX_PWR_EN" documentation="Displays VTX Power">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VTX_PWR_X" name="OSD2_VTX_PWR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VTX_PWR_Y" name="OSD2_VTX_PWR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TER_HGT_EN" name="OSD2_TER_HGT_EN" documentation="Displays Height above terrain">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TER_HGT_X" name="OSD2_TER_HGT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TER_HGT_Y" name="OSD2_TER_HGT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="AVGCELLV_EN" name="OSD2_AVGCELLV_EN" documentation="Displays average cell voltage. WARNING: this can be inaccurate if the cell count is not detected or set properly. If the  the battery is far from fully charged the detected cell count might not be accurate if auto cell count detection is used (OSD_CELL_COUNT=0).">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="AVGCELLV_X" name="OSD2_AVGCELLV_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="AVGCELLV_Y" name="OSD2_AVGCELLV_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RESTVOLT_EN" name="OSD2_RESTVOLT_EN" documentation="Displays main battery resting voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RESTVOLT_X" name="OSD2_RESTVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RESTVOLT_Y" name="OSD2_RESTVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FENCE_EN" name="OSD2_FENCE_EN" documentation="Displays indication of fence enable and breach">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FENCE_X" name="OSD2_FENCE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FENCE_Y" name="OSD2_FENCE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RNGF_EN" name="OSD2_RNGF_EN" documentation="Displays a rangefinder's distance in cm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RNGF_X" name="OSD2_RNGF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RNGF_Y" name="OSD2_RNGF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="LINK_Q_EN" name="OSD2_LINK_Q_EN" documentation="Displays Receiver link quality">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="LINK_Q_X" name="OSD2_LINK_Q_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="LINK_Q_Y" name="OSD2_LINK_Q_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
    </parameters>
    <parameters name="OSD3_">
      <param humanName="Enable screen" name="OSD3_ENABLE" documentation="Enable this screen" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Transmitter switch screen minimum pwm" name="OSD3_CHAN_MIN" documentation="This sets the PWM lower limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="Transmitter switch screen maximum pwm" name="OSD3_CHAN_MAX" documentation="This sets the PWM upper limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="ALTITUDE_EN" name="OSD3_ALTITUDE_EN" documentation="Enables display of altitude AGL">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ALTITUDE_X" name="OSD3_ALTITUDE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ALTITUDE_Y" name="OSD3_ALTITUDE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATVOLT_EN" name="OSD3_BAT_VOLT_EN" documentation="Displays main battery voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATVOLT_X" name="OSD3_BAT_VOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATVOLT_Y" name="OSD3_BAT_VOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RSSI_EN" name="OSD3_RSSI_EN" documentation="Displays RC signal strength">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RSSI_X" name="OSD3_RSSI_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RSSI_Y" name="OSD3_RSSI_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT_EN" name="OSD3_CURRENT_EN" documentation="Displays main battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT_X" name="OSD3_CURRENT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT_Y" name="OSD3_CURRENT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATUSED_EN" name="OSD3_BATUSED_EN" documentation="Displays primary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATUSED_X" name="OSD3_BATUSED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATUSED_Y" name="OSD3_BATUSED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SATS_EN" name="OSD3_SATS_EN" documentation="Displays number of acquired satellites">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SATS_X" name="OSD3_SATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SATS_Y" name="OSD3_SATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTMODE_EN" name="OSD3_FLTMODE_EN" documentation="Displays flight mode">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTMODE_X" name="OSD3_FLTMODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTMODE_Y" name="OSD3_FLTMODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="MESSAGE_EN" name="OSD3_MESSAGE_EN" documentation="Displays Mavlink messages">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="MESSAGE_X" name="OSD3_MESSAGE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="MESSAGE_Y" name="OSD3_MESSAGE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GSPEED_EN" name="OSD3_GSPEED_EN" documentation="Displays GPS ground speed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GSPEED_X" name="OSD3_GSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GSPEED_Y" name="OSD3_GSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HORIZON_EN" name="OSD3_HORIZON_EN" documentation="Displays artificial horizon">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HORIZON_X" name="OSD3_HORIZON_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HORIZON_Y" name="OSD3_HORIZON_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOME_EN" name="OSD3_HOME_EN" documentation="Displays distance and relative direction to HOME">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOME_X" name="OSD3_HOME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOME_Y" name="OSD3_HOME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HEADING_EN" name="OSD3_HEADING_EN" documentation="Displays heading">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HEADING_X" name="OSD3_HEADING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HEADING_Y" name="OSD3_HEADING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="THROTTLE_EN" name="OSD3_THROTTLE_EN" documentation="Displays actual throttle percentage being sent to motor(s)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="THROTTLE_X" name="OSD3_THROTTLE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="THROTTLE_Y" name="OSD3_THROTTLE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="COMPASS_EN" name="OSD3_COMPASS_EN" documentation="Enables display of compass rose">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="COMPASS_X" name="OSD3_COMPASS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="COMPASS_Y" name="OSD3_COMPASS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WIND_EN" name="OSD3_WIND_EN" documentation="Displays wind speed and relative direction, on Rover this is the apparent wind speed and direction from the windvane, if fitted">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WIND_X" name="OSD3_WIND_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WIND_Y" name="OSD3_WIND_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPEED_EN" name="OSD3_ASPEED_EN" documentation="Displays airspeed value being used by TECS (fused value)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPEED_X" name="OSD3_ASPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPEED_Y" name="OSD3_ASPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VSPEED_EN" name="OSD3_VSPEED_EN" documentation="Displays climb rate">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VSPEED_X" name="OSD3_VSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VSPEED_Y" name="OSD3_VSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCTEMP_EN" name="OSD3_ESCTEMP_EN" documentation="Displays first esc's temp">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCTEMP_X" name="OSD3_ESCTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCTEMP_Y" name="OSD3_ESCTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCRPM_EN" name="OSD3_ESCRPM_EN" documentation="Displays first esc's rpm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCRPM_X" name="OSD3_ESCRPM_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCRPM_Y" name="OSD3_ESCRPM_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCAMPS_EN" name="OSD3_ESCAMPS_EN" documentation="Displays first esc's current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCAMPS_X" name="OSD3_ESCAMPS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCAMPS_Y" name="OSD3_ESCAMPS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLAT_EN" name="OSD3_GPSLAT_EN" documentation="Displays GPS latitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLAT_X" name="OSD3_GPSLAT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLAT_Y" name="OSD3_GPSLAT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLONG_EN" name="OSD3_GPSLONG_EN" documentation="Displays GPS longitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLONG_X" name="OSD3_GPSLONG_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLONG_Y" name="OSD3_GPSLONG_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ROLL_EN" name="OSD3_ROLL_EN" documentation="Displays degrees of roll from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ROLL_X" name="OSD3_ROLL_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ROLL_Y" name="OSD3_ROLL_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PITCH_EN" name="OSD3_PITCH_EN" documentation="Displays degrees of pitch from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PITCH_X" name="OSD3_PITCH_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PITCH_Y" name="OSD3_PITCH_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TEMP_EN" name="OSD3_TEMP_EN" documentation="Displays temperature reported by primary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TEMP_X" name="OSD3_TEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TEMP_Y" name="OSD3_TEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HDOP_EN" name="OSD3_HDOP_EN" documentation="Displays Horizontal Dilution Of Position">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HDOP_X" name="OSD3_HDOP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HDOP_Y" name="OSD3_HDOP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WAYPOINT_EN" name="OSD3_WAYPOINT_EN" documentation="Displays bearing and distance to next waypoint">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WAYPOINT_X" name="OSD3_WAYPOINT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WAYPOINT_Y" name="OSD3_WAYPOINT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="XTRACK_EN" name="OSD3_XTRACK_EN" documentation="Displays crosstrack error">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="XTRACK_X" name="OSD3_XTRACK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="XTRACK_Y" name="OSD3_XTRACK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="DIST_EN" name="OSD3_DIST_EN" documentation="Displays total distance flown">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="DIST_X" name="OSD3_DIST_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="DIST_Y" name="OSD3_DIST_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="STATS_EN" name="OSD3_STATS_EN" documentation="Displays flight stats">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="STATS_X" name="OSD3_STATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="STATS_Y" name="OSD3_STATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTIME_EN" name="OSD3_FLTIME_EN" documentation="Displays total flight time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTIME_X" name="OSD3_FLTIME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTIME_Y" name="OSD3_FLTIME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLIMBEFF_EN" name="OSD3_CLIMBEFF_EN" documentation="Displays climb efficiency (climb rate/current)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLIMBEFF_X" name="OSD3_CLIMBEFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLIMBEFF_Y" name="OSD3_CLIMBEFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="EFF_EN" name="OSD3_EFF_EN" documentation="Displays flight efficiency (mAh/km or /mi)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="EFF_X" name="OSD3_EFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="EFF_Y" name="OSD3_EFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BTEMP_EN" name="OSD3_BTEMP_EN" documentation="Displays temperature reported by secondary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BTEMP_X" name="OSD3_BTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BTEMP_Y" name="OSD3_BTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ATEMP_EN" name="OSD3_ATEMP_EN" documentation="Displays temperature reported by primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ATEMP_X" name="OSD3_ATEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ATEMP_Y" name="OSD3_ATEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2VLT_EN" name="OSD3_BAT2_VLT_EN" documentation="Displays battery2 voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2VLT_X" name="OSD3_BAT2_VLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2VLT_Y" name="OSD3_BAT2_VLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2USED_EN" name="OSD3_BAT2USED_EN" documentation="Displays secondary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2USED_X" name="OSD3_BAT2USED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2USED_Y" name="OSD3_BAT2USED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD2_EN" name="OSD3_ASPD2_EN" documentation="Displays airspeed reported directly from secondary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD2_X" name="OSD3_ASPD2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD2_Y" name="OSD3_ASPD2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD1_EN" name="OSD3_ASPD1_EN" documentation="Displays airspeed reported directly from primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD1_X" name="OSD3_ASPD1_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD1_Y" name="OSD3_ASPD1_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLK_EN" name="OSD3_CLK_EN" documentation="Displays a clock panel based on AP_RTC local time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLK_X" name="OSD3_CLK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLK_Y" name="OSD3_CLK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SIDEBARS_EN" name="OSD3_SIDEBARS_EN" documentation="Displays artificial horizon side bars">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SIDEBARS_X" name="OSD3_SIDEBARS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SIDEBARS_Y" name="OSD3_SIDEBARS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CRSSHAIR_EN" name="OSD3_CRSSHAIR_EN" documentation="Displays artificial horizon crosshair (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CRSSHAIR_X" name="OSD3_CRSSHAIR_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CRSSHAIR_Y" name="OSD3_CRSSHAIR_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIST_EN" name="OSD3_HOMEDIST_EN" documentation="Displays distance from HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIST_X" name="OSD3_HOMEDIST_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIST_Y" name="OSD3_HOMEDIST_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIR_EN" name="OSD3_HOMEDIR_EN" documentation="Displays relative direction to HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIR_X" name="OSD3_HOMEDIR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIR_Y" name="OSD3_HOMEDIR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="POWER_EN" name="OSD3_POWER_EN" documentation="Displays power (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="POWER_X" name="OSD3_POWER_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="POWER_Y" name="OSD3_POWER_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CELL_VOLT_EN" name="OSD3_CELLVOLT_EN" documentation="Displays average cell voltage (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CELL_VOLT_X" name="OSD3_CELLVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CELL_VOLT_Y" name="OSD3_CELLVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATT_BAR_EN" name="OSD3_BATTBAR_EN" documentation="Displays battery usage bar (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATT_BAR_X" name="OSD3_BATTBAR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATT_BAR_Y" name="OSD3_BATTBAR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ARMING_EN" name="OSD3_ARMING_EN" documentation="Displays arming status (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ARMING_X" name="OSD3_ARMING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ARMING_Y" name="OSD3_ARMING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PLUSCODE_EN" name="OSD3_PLUSCODE_EN" documentation="Displays pluscode (OLC) element">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PLUSCODE_X" name="OSD3_PLUSCODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PLUSCODE_Y" name="OSD3_PLUSCODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CALLSIGN_EN" name="OSD3_CALLSIGN_EN" documentation="Displays callsign from callsign.txt on microSD card">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CALLSIGN_X" name="OSD3_CALLSIGN_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CALLSIGN_Y" name="OSD3_CALLSIGN_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT2_EN" name="OSD3_CURRENT2_EN" documentation="Displays 2nd battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT2_X" name="OSD3_CURRENT2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT2_Y" name="OSD3_CURRENT2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VTX_PWR_EN" name="OSD3_VTX_PWR_EN" documentation="Displays VTX Power">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VTX_PWR_X" name="OSD3_VTX_PWR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VTX_PWR_Y" name="OSD3_VTX_PWR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TER_HGT_EN" name="OSD3_TER_HGT_EN" documentation="Displays Height above terrain">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TER_HGT_X" name="OSD3_TER_HGT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TER_HGT_Y" name="OSD3_TER_HGT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="AVGCELLV_EN" name="OSD3_AVGCELLV_EN" documentation="Displays average cell voltage. WARNING: this can be inaccurate if the cell count is not detected or set properly. If the  the battery is far from fully charged the detected cell count might not be accurate if auto cell count detection is used (OSD_CELL_COUNT=0).">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="AVGCELLV_X" name="OSD3_AVGCELLV_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="AVGCELLV_Y" name="OSD3_AVGCELLV_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RESTVOLT_EN" name="OSD3_RESTVOLT_EN" documentation="Displays main battery resting voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RESTVOLT_X" name="OSD3_RESTVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RESTVOLT_Y" name="OSD3_RESTVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FENCE_EN" name="OSD3_FENCE_EN" documentation="Displays indication of fence enable and breach">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FENCE_X" name="OSD3_FENCE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FENCE_Y" name="OSD3_FENCE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RNGF_EN" name="OSD3_RNGF_EN" documentation="Displays a rangefinder's distance in cm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RNGF_X" name="OSD3_RNGF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RNGF_Y" name="OSD3_RNGF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="LINK_Q_EN" name="OSD3_LINK_Q_EN" documentation="Displays Receiver link quality">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="LINK_Q_X" name="OSD3_LINK_Q_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="LINK_Q_Y" name="OSD3_LINK_Q_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
    </parameters>
    <parameters name="OSD4_">
      <param humanName="Enable screen" name="OSD4_ENABLE" documentation="Enable this screen" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Transmitter switch screen minimum pwm" name="OSD4_CHAN_MIN" documentation="This sets the PWM lower limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="Transmitter switch screen maximum pwm" name="OSD4_CHAN_MAX" documentation="This sets the PWM upper limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="ALTITUDE_EN" name="OSD4_ALTITUDE_EN" documentation="Enables display of altitude AGL">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ALTITUDE_X" name="OSD4_ALTITUDE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ALTITUDE_Y" name="OSD4_ALTITUDE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATVOLT_EN" name="OSD4_BAT_VOLT_EN" documentation="Displays main battery voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATVOLT_X" name="OSD4_BAT_VOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATVOLT_Y" name="OSD4_BAT_VOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RSSI_EN" name="OSD4_RSSI_EN" documentation="Displays RC signal strength">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RSSI_X" name="OSD4_RSSI_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RSSI_Y" name="OSD4_RSSI_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT_EN" name="OSD4_CURRENT_EN" documentation="Displays main battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT_X" name="OSD4_CURRENT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT_Y" name="OSD4_CURRENT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATUSED_EN" name="OSD4_BATUSED_EN" documentation="Displays primary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATUSED_X" name="OSD4_BATUSED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATUSED_Y" name="OSD4_BATUSED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SATS_EN" name="OSD4_SATS_EN" documentation="Displays number of acquired satellites">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SATS_X" name="OSD4_SATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SATS_Y" name="OSD4_SATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTMODE_EN" name="OSD4_FLTMODE_EN" documentation="Displays flight mode">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTMODE_X" name="OSD4_FLTMODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTMODE_Y" name="OSD4_FLTMODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="MESSAGE_EN" name="OSD4_MESSAGE_EN" documentation="Displays Mavlink messages">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="MESSAGE_X" name="OSD4_MESSAGE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="MESSAGE_Y" name="OSD4_MESSAGE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GSPEED_EN" name="OSD4_GSPEED_EN" documentation="Displays GPS ground speed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GSPEED_X" name="OSD4_GSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GSPEED_Y" name="OSD4_GSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HORIZON_EN" name="OSD4_HORIZON_EN" documentation="Displays artificial horizon">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HORIZON_X" name="OSD4_HORIZON_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HORIZON_Y" name="OSD4_HORIZON_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOME_EN" name="OSD4_HOME_EN" documentation="Displays distance and relative direction to HOME">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOME_X" name="OSD4_HOME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOME_Y" name="OSD4_HOME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HEADING_EN" name="OSD4_HEADING_EN" documentation="Displays heading">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HEADING_X" name="OSD4_HEADING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HEADING_Y" name="OSD4_HEADING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="THROTTLE_EN" name="OSD4_THROTTLE_EN" documentation="Displays actual throttle percentage being sent to motor(s)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="THROTTLE_X" name="OSD4_THROTTLE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="THROTTLE_Y" name="OSD4_THROTTLE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="COMPASS_EN" name="OSD4_COMPASS_EN" documentation="Enables display of compass rose">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="COMPASS_X" name="OSD4_COMPASS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="COMPASS_Y" name="OSD4_COMPASS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WIND_EN" name="OSD4_WIND_EN" documentation="Displays wind speed and relative direction, on Rover this is the apparent wind speed and direction from the windvane, if fitted">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WIND_X" name="OSD4_WIND_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WIND_Y" name="OSD4_WIND_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPEED_EN" name="OSD4_ASPEED_EN" documentation="Displays airspeed value being used by TECS (fused value)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPEED_X" name="OSD4_ASPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPEED_Y" name="OSD4_ASPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VSPEED_EN" name="OSD4_VSPEED_EN" documentation="Displays climb rate">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VSPEED_X" name="OSD4_VSPEED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VSPEED_Y" name="OSD4_VSPEED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCTEMP_EN" name="OSD4_ESCTEMP_EN" documentation="Displays first esc's temp">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCTEMP_X" name="OSD4_ESCTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCTEMP_Y" name="OSD4_ESCTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCRPM_EN" name="OSD4_ESCRPM_EN" documentation="Displays first esc's rpm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCRPM_X" name="OSD4_ESCRPM_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCRPM_Y" name="OSD4_ESCRPM_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ESCAMPS_EN" name="OSD4_ESCAMPS_EN" documentation="Displays first esc's current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ESCAMPS_X" name="OSD4_ESCAMPS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ESCAMPS_Y" name="OSD4_ESCAMPS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLAT_EN" name="OSD4_GPSLAT_EN" documentation="Displays GPS latitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLAT_X" name="OSD4_GPSLAT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLAT_Y" name="OSD4_GPSLAT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="GPSLONG_EN" name="OSD4_GPSLONG_EN" documentation="Displays GPS longitude">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="GPSLONG_X" name="OSD4_GPSLONG_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="GPSLONG_Y" name="OSD4_GPSLONG_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ROLL_EN" name="OSD4_ROLL_EN" documentation="Displays degrees of roll from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ROLL_X" name="OSD4_ROLL_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ROLL_Y" name="OSD4_ROLL_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PITCH_EN" name="OSD4_PITCH_EN" documentation="Displays degrees of pitch from level">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PITCH_X" name="OSD4_PITCH_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PITCH_Y" name="OSD4_PITCH_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TEMP_EN" name="OSD4_TEMP_EN" documentation="Displays temperature reported by primary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TEMP_X" name="OSD4_TEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TEMP_Y" name="OSD4_TEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HDOP_EN" name="OSD4_HDOP_EN" documentation="Displays Horizontal Dilution Of Position">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HDOP_X" name="OSD4_HDOP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HDOP_Y" name="OSD4_HDOP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="WAYPOINT_EN" name="OSD4_WAYPOINT_EN" documentation="Displays bearing and distance to next waypoint">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="WAYPOINT_X" name="OSD4_WAYPOINT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="WAYPOINT_Y" name="OSD4_WAYPOINT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="XTRACK_EN" name="OSD4_XTRACK_EN" documentation="Displays crosstrack error">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="XTRACK_X" name="OSD4_XTRACK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="XTRACK_Y" name="OSD4_XTRACK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="DIST_EN" name="OSD4_DIST_EN" documentation="Displays total distance flown">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="DIST_X" name="OSD4_DIST_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="DIST_Y" name="OSD4_DIST_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="STATS_EN" name="OSD4_STATS_EN" documentation="Displays flight stats">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="STATS_X" name="OSD4_STATS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="STATS_Y" name="OSD4_STATS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FLTIME_EN" name="OSD4_FLTIME_EN" documentation="Displays total flight time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FLTIME_X" name="OSD4_FLTIME_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FLTIME_Y" name="OSD4_FLTIME_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLIMBEFF_EN" name="OSD4_CLIMBEFF_EN" documentation="Displays climb efficiency (climb rate/current)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLIMBEFF_X" name="OSD4_CLIMBEFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLIMBEFF_Y" name="OSD4_CLIMBEFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="EFF_EN" name="OSD4_EFF_EN" documentation="Displays flight efficiency (mAh/km or /mi)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="EFF_X" name="OSD4_EFF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="EFF_Y" name="OSD4_EFF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BTEMP_EN" name="OSD4_BTEMP_EN" documentation="Displays temperature reported by secondary barometer">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BTEMP_X" name="OSD4_BTEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BTEMP_Y" name="OSD4_BTEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ATEMP_EN" name="OSD4_ATEMP_EN" documentation="Displays temperature reported by primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ATEMP_X" name="OSD4_ATEMP_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ATEMP_Y" name="OSD4_ATEMP_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2VLT_EN" name="OSD4_BAT2_VLT_EN" documentation="Displays battery2 voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2VLT_X" name="OSD4_BAT2_VLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2VLT_Y" name="OSD4_BAT2_VLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BAT2USED_EN" name="OSD4_BAT2USED_EN" documentation="Displays secondary battery mAh consumed">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BAT2USED_X" name="OSD4_BAT2USED_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BAT2USED_Y" name="OSD4_BAT2USED_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD2_EN" name="OSD4_ASPD2_EN" documentation="Displays airspeed reported directly from secondary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD2_X" name="OSD4_ASPD2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD2_Y" name="OSD4_ASPD2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ASPD1_EN" name="OSD4_ASPD1_EN" documentation="Displays airspeed reported directly from primary airspeed sensor">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ASPD1_X" name="OSD4_ASPD1_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ASPD1_Y" name="OSD4_ASPD1_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CLK_EN" name="OSD4_CLK_EN" documentation="Displays a clock panel based on AP_RTC local time">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CLK_X" name="OSD4_CLK_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CLK_Y" name="OSD4_CLK_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="SIDEBARS_EN" name="OSD4_SIDEBARS_EN" documentation="Displays artificial horizon side bars">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="SIDEBARS_X" name="OSD4_SIDEBARS_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="SIDEBARS_Y" name="OSD4_SIDEBARS_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CRSSHAIR_EN" name="OSD4_CRSSHAIR_EN" documentation="Displays artificial horizon crosshair (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CRSSHAIR_X" name="OSD4_CRSSHAIR_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CRSSHAIR_Y" name="OSD4_CRSSHAIR_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIST_EN" name="OSD4_HOMEDIST_EN" documentation="Displays distance from HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIST_X" name="OSD4_HOMEDIST_X" documentation="Horizontal position on screen (MSP OSD only)">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIST_Y" name="OSD4_HOMEDIST_Y" documentation="Vertical position on screen (MSP OSD only)">
        <field name="Range">0 15</field>
      </param>
      <param humanName="HOMEDIR_EN" name="OSD4_HOMEDIR_EN" documentation="Displays relative direction to HOME (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="HOMEDIR_X" name="OSD4_HOMEDIR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="HOMEDIR_Y" name="OSD4_HOMEDIR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="POWER_EN" name="OSD4_POWER_EN" documentation="Displays power (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="POWER_X" name="OSD4_POWER_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="POWER_Y" name="OSD4_POWER_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CELL_VOLT_EN" name="OSD4_CELLVOLT_EN" documentation="Displays average cell voltage (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CELL_VOLT_X" name="OSD4_CELLVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CELL_VOLT_Y" name="OSD4_CELLVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="BATT_BAR_EN" name="OSD4_BATTBAR_EN" documentation="Displays battery usage bar (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BATT_BAR_X" name="OSD4_BATTBAR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="BATT_BAR_Y" name="OSD4_BATTBAR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="ARMING_EN" name="OSD4_ARMING_EN" documentation="Displays arming status (MSP OSD only)">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="ARMING_X" name="OSD4_ARMING_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="ARMING_Y" name="OSD4_ARMING_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="PLUSCODE_EN" name="OSD4_PLUSCODE_EN" documentation="Displays pluscode (OLC) element">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="PLUSCODE_X" name="OSD4_PLUSCODE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="PLUSCODE_Y" name="OSD4_PLUSCODE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CALLSIGN_EN" name="OSD4_CALLSIGN_EN" documentation="Displays callsign from callsign.txt on microSD card">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CALLSIGN_X" name="OSD4_CALLSIGN_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CALLSIGN_Y" name="OSD4_CALLSIGN_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="CURRENT2_EN" name="OSD4_CURRENT2_EN" documentation="Displays 2nd battery current">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="CURRENT2_X" name="OSD4_CURRENT2_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="CURRENT2_Y" name="OSD4_CURRENT2_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="VTX_PWR_EN" name="OSD4_VTX_PWR_EN" documentation="Displays VTX Power">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="VTX_PWR_X" name="OSD4_VTX_PWR_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="VTX_PWR_Y" name="OSD4_VTX_PWR_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="TER_HGT_EN" name="OSD4_TER_HGT_EN" documentation="Displays Height above terrain">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="TER_HGT_X" name="OSD4_TER_HGT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="TER_HGT_Y" name="OSD4_TER_HGT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="AVGCELLV_EN" name="OSD4_AVGCELLV_EN" documentation="Displays average cell voltage. WARNING: this can be inaccurate if the cell count is not detected or set properly. If the  the battery is far from fully charged the detected cell count might not be accurate if auto cell count detection is used (OSD_CELL_COUNT=0).">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="AVGCELLV_X" name="OSD4_AVGCELLV_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="AVGCELLV_Y" name="OSD4_AVGCELLV_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RESTVOLT_EN" name="OSD4_RESTVOLT_EN" documentation="Displays main battery resting voltage">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RESTVOLT_X" name="OSD4_RESTVOLT_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RESTVOLT_Y" name="OSD4_RESTVOLT_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="FENCE_EN" name="OSD4_FENCE_EN" documentation="Displays indication of fence enable and breach">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="FENCE_X" name="OSD4_FENCE_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="FENCE_Y" name="OSD4_FENCE_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="RNGF_EN" name="OSD4_RNGF_EN" documentation="Displays a rangefinder's distance in cm">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="RNGF_X" name="OSD4_RNGF_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="RNGF_Y" name="OSD4_RNGF_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
      <param humanName="LINK_Q_EN" name="OSD4_LINK_Q_EN" documentation="Displays Receiver link quality">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="LINK_Q_X" name="OSD4_LINK_Q_X" documentation="Horizontal position on screen">
        <field name="Range">0 29</field>
      </param>
      <param humanName="LINK_Q_Y" name="OSD4_LINK_Q_Y" documentation="Vertical position on screen">
        <field name="Range">0 15</field>
      </param>
    </parameters>
    <parameters name="OSD5_">
      <param humanName="Enable screen" name="OSD5_ENABLE" documentation="Enable this screen" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Transmitter switch screen minimum pwm" name="OSD5_CHAN_MIN" documentation="This sets the PWM lower limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="Transmitter switch screen maximum pwm" name="OSD5_CHAN_MAX" documentation="This sets the PWM upper limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="SAVE_X" name="OSD5_SAVE_X" documentation="Horizontal position of Save button on screen" user="Advanced">
        <field name="Range">0 25</field>
      </param>
      <param humanName="SAVE_Y" name="OSD5_SAVE_Y" documentation="Vertical position of Save button on screen" user="Advanced">
        <field name="Range">0 15</field>
      </param>
    </parameters>
    <parameters name="OSD5_PARAM1">
      <param humanName="Enable" name="OSD5_PARAM1_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM1_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM1_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM1_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM1_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM1_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM1_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM1_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM1_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM1_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM2">
      <param humanName="Enable" name="OSD5_PARAM2_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM2_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM2_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM2_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM2_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM2_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM2_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM2_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM2_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM2_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM3">
      <param humanName="Enable" name="OSD5_PARAM3_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM3_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM3_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM3_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM3_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM3_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM3_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM3_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM3_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM3_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM4">
      <param humanName="Enable" name="OSD5_PARAM4_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM4_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM4_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM4_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM4_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM4_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM4_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM4_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM4_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM4_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM5">
      <param humanName="Enable" name="OSD5_PARAM5_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM5_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM5_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM5_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM5_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM5_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM5_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM5_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM5_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM5_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM6">
      <param humanName="Enable" name="OSD5_PARAM6_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM6_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM6_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM6_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM6_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM6_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM6_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM6_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM6_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM6_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM7">
      <param humanName="Enable" name="OSD5_PARAM7_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM7_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM7_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM7_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM7_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM7_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM7_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM7_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM7_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM7_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM8">
      <param humanName="Enable" name="OSD5_PARAM8_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM8_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM8_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM8_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM8_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM8_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM8_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM8_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM8_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM8_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD5_PARAM9">
      <param humanName="Enable" name="OSD5_PARAM9_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD5_PARAM9_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD5_PARAM9_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD5_PARAM9_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD5_PARAM9_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD5_PARAM9_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD5_PARAM9_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD5_PARAM9_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD5_PARAM9_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD5_PARAM9_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_">
      <param humanName="Enable screen" name="OSD6_ENABLE" documentation="Enable this screen" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Transmitter switch screen minimum pwm" name="OSD6_CHAN_MIN" documentation="This sets the PWM lower limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="Transmitter switch screen maximum pwm" name="OSD6_CHAN_MAX" documentation="This sets the PWM upper limit for this screen" user="Standard">
        <field name="Range">900 2100</field>
      </param>
      <param humanName="SAVE_X" name="OSD6_SAVE_X" documentation="Horizontal position of Save button on screen" user="Advanced">
        <field name="Range">0 25</field>
      </param>
      <param humanName="SAVE_Y" name="OSD6_SAVE_Y" documentation="Vertical position of Save button on screen" user="Advanced">
        <field name="Range">0 15</field>
      </param>
    </parameters>
    <parameters name="OSD6_PARAM1">
      <param humanName="Enable" name="OSD6_PARAM1_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM1_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM1_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM1_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM1_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM1_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM1_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM1_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM1_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM1_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM2">
      <param humanName="Enable" name="OSD6_PARAM2_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM2_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM2_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM2_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM2_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM2_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM2_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM2_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM2_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM2_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM3">
      <param humanName="Enable" name="OSD6_PARAM3_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM3_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM3_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM3_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM3_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM3_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM3_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM3_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM3_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM3_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM4">
      <param humanName="Enable" name="OSD6_PARAM4_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM4_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM4_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM4_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM4_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM4_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM4_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM4_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM4_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM4_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM5">
      <param humanName="Enable" name="OSD6_PARAM5_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM5_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM5_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM5_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM5_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM5_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM5_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM5_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM5_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM5_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM6">
      <param humanName="Enable" name="OSD6_PARAM6_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM6_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM6_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM6_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM6_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM6_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM6_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM6_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM6_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM6_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM7">
      <param humanName="Enable" name="OSD6_PARAM7_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM7_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM7_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM7_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM7_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM7_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM7_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM7_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM7_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM7_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM8">
      <param humanName="Enable" name="OSD6_PARAM8_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM8_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM8_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM8_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM8_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM8_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM8_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM8_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM8_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM8_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="OSD6_PARAM9">
      <param humanName="Enable" name="OSD6_PARAM9_EN" documentation="Enable setting" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="X position" name="OSD6_PARAM9_X" documentation="Horizontal position on screen" user="Standard">
        <field name="Range">0 29</field>
      </param>
      <param humanName="Y position" name="OSD6_PARAM9_Y" documentation="Vertical position on screen" user="Standard">
        <field name="Range">0 15</field>
      </param>
      <param humanName="Parameter key" name="OSD6_PARAM9_KEY" documentation="Key of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter index" name="OSD6_PARAM9_IDX" documentation="Index of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter group" name="OSD6_PARAM9_GRP" documentation="Group of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter minimum" name="OSD6_PARAM9_MIN" documentation="Minimum value of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter maximum" name="OSD6_PARAM9_MAX" documentation="Maximum of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter increment" name="OSD6_PARAM9_INCR" documentation="Increment of the parameter to be displayed and modified" user="Standard">
</param>
      <param humanName="Parameter type" name="OSD6_PARAM9_TYPE" documentation="Type of the parameter to be displayed and modified" user="Standard">
</param>
    </parameters>
    <parameters name="PLND_">
      <param humanName="Precision Land enabled/disabled" name="PLND_ENABLED" documentation="Precision Land enabled/disabled" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Precision Land Type" name="PLND_TYPE" documentation="Precision Land Type" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">CompanionComputer</value>
          <value code="2">IRLock</value>
          <value code="3">SITL_Gazebo</value>
          <value code="4">SITL</value>
        </values>
      </param>
      <param humanName="Sensor yaw alignment" name="PLND_YAW_ALIGN" documentation="Yaw angle from body x-axis to sensor x-axis." user="Advanced">
        <field name="Range">0 36000</field>
        <field name="Increment">10</field>
        <field name="Units">cdeg</field>
        <field name="UnitText">centidegrees</field>
      </param>
      <param humanName="Land offset forward" name="PLND_LAND_OFS_X" documentation="Desired landing position of the camera forward of the target in vehicle body frame" user="Advanced">
        <field name="Range">-20 20</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Land offset right" name="PLND_LAND_OFS_Y" documentation="desired landing position of the camera right of the target in vehicle body frame" user="Advanced">
        <field name="Range">-20 20</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Precision Land Estimator Type" name="PLND_EST_TYPE" documentation="Specifies the estimation method to be used" user="Advanced">
        <values>
          <value code="0">RawSensor</value>
          <value code="1">KalmanFilter</value>
        </values>
      </param>
      <param humanName="Kalman Filter Accelerometer Noise" name="PLND_ACC_P_NSE" documentation="Kalman Filter Accelerometer Noise, higher values weight the input from the camera more, accels less" user="Advanced">
        <field name="Range">0.5 5</field>
      </param>
      <param humanName="Camera X position offset" name="PLND_CAM_POS_X" documentation="X position of the camera in body frame. Positive X is forward of the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Camera Y position offset" name="PLND_CAM_POS_Y" documentation="Y position of the camera in body frame. Positive Y is to the right of the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Camera Z position offset" name="PLND_CAM_POS_Z" documentation="Z position of the camera in body frame. Positive Z is down from the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Sensor Bus" name="PLND_BUS" documentation="Precland sensor bus for I2C sensors." user="Advanced">
        <values>
          <value code="-1">DefaultBus</value>
          <value code="0">InternalI2C</value>
          <value code="1">ExternalI2C</value>
        </values>
      </param>
      <param humanName="Precision Landing sensor lag" name="PLND_LAG" documentation="Precision Landing sensor lag, to cope with variable landing_target latency" user="Advanced">
        <field name="Range">0.02 0.250</field>
        <field name="Increment">1</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Precision Landing maximum distance to target before descending" name="PLND_XY_DIST_MAX" documentation="The vehicle will not start descending if the landing target is detected and it is further than this many meters away. Set 0 to always descend." user="Advanced">
        <field name="Range">0 10</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="PrecLand strictness" name="PLND_STRICT" documentation="How strictly should the vehicle land on the target if target is lost">
        <values>
          <value code="0">Land Vertically (Not strict)</value>
          <value code="1">Retry Landing(Normal Strictness)</value>
          <value code="2">Do not land (just Hover) (Very Strict)</value>
        </values>
      </param>
      <param humanName="PrecLand Maximum number of retires for a failed landing" name="PLND_RET_MAX" documentation="PrecLand Maximum number of retires for a failed landing. Set to zero to disable landing retry.">
        <field name="Range">0 10</field>
        <field name="Increment">1</field>
      </param>
      <param humanName="PrecLand retry timeout" name="PLND_TIMEOUT" documentation="Time for which vehicle continues descend even if target is lost. After this time period, vehicle will attemp a landing retry depending on PLND_STRICT parameter.">
        <field name="Range">0 20</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="PrecLand retry behaviour" name="PLND_RET_BEHAVE" documentation="Prec Land will do the action selected by this parameter if a retry to a landing is needed">
        <values>
          <value code="0">Go to the last location where landing target was detected</value>
          <value code="1">Go towards the approximate location of the detected landing target</value>
        </values>
      </param>
      <param humanName="PrecLand minimum alt for retry" name="PLND_ALT_MIN" documentation="Vehicle will continue landing vertically even if target is lost below this height. This needs a rangefinder to work. Set to zero to disable this.">
        <field name="Range">0 5</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="PrecLand maximum alt for retry" name="PLND_ALT_MAX" documentation="Vehicle will continue landing vertically until this height if target is not found. Below this height if landing target is not found, landing retry/failsafe might be attempted. This needs a rangefinder to work. Set to zero to disable this.">
        <field name="Range">0 50</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Precision Landing Extra Options" name="PLND_OPTIONS" documentation="Precision Landing Extra Options" user="Advanced">
        <field name="Bitmask">0: Moving Landing Target</field>
      </param>
    </parameters>
    <parameters name="PRX">
      <param humanName="Proximity type" name="PRX_TYPE" documentation="What type of proximity sensor is connected" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="7">LightwareSF40c</value>
          <value code="2">MAVLink</value>
          <value code="3">TeraRangerTower</value>
          <value code="4">RangeFinder</value>
          <value code="5">RPLidarA2</value>
          <value code="6">TeraRangerTowerEvo</value>
          <value code="8">LightwareSF45B</value>
          <value code="10">SITL</value>
          <value code="12">AirSimSITL</value>
          <value code="13">CygbotD1</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Proximity sensor orientation" name="PRX_ORIENT" documentation="Proximity sensor orientation" user="Standard">
        <values>
          <value code="0">Default</value>
          <value code="1">Upside Down</value>
        </values>
      </param>
      <param humanName="Proximity sensor yaw correction" name="PRX_YAW_CORR" documentation="Proximity sensor yaw correction" user="Standard">
        <field name="Range">-180 180</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore angle 1" name="PRX_IGN_ANG1" documentation="Proximity sensor ignore angle 1" user="Standard">
        <field name="Range">0 360</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore width 1" name="PRX_IGN_WID1" documentation="Proximity sensor ignore width 1" user="Standard">
        <field name="Range">0 127</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore angle 2" name="PRX_IGN_ANG2" documentation="Proximity sensor ignore angle 2" user="Standard">
        <field name="Range">0 360</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore width 2" name="PRX_IGN_WID2" documentation="Proximity sensor ignore width 2" user="Standard">
        <field name="Range">0 127</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore angle 3" name="PRX_IGN_ANG3" documentation="Proximity sensor ignore angle 3" user="Standard">
        <field name="Range">0 360</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore width 3" name="PRX_IGN_WID3" documentation="Proximity sensor ignore width 3" user="Standard">
        <field name="Range">0 127</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore angle 4" name="PRX_IGN_ANG4" documentation="Proximity sensor ignore angle 4" user="Standard">
        <field name="Range">0 360</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore width 4" name="PRX_IGN_WID4" documentation="Proximity sensor ignore width 4" user="Standard">
        <field name="Range">0 127</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore angle 5" name="PRX_IGN_ANG5" documentation="Proximity sensor ignore angle 5" user="Standard">
        <field name="Range">0 360</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore width 5" name="PRX_IGN_WID5" documentation="Proximity sensor ignore width 5" user="Standard">
        <field name="Range">0 127</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore angle 6" name="PRX_IGN_ANG6" documentation="Proximity sensor ignore angle 6" user="Standard">
        <field name="Range">0 360</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor ignore width 6" name="PRX_IGN_WID6" documentation="Proximity sensor ignore width 6" user="Standard">
        <field name="Range">0 127</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Proximity sensor land detection" name="PRX_IGN_GND" documentation="Ignore proximity data that is within 1 meter of the ground below the vehicle. This requires a downward facing rangefinder" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Proximity raw distances log" name="PRX_LOG_RAW" documentation="Set this parameter to one if logging unfiltered(raw) distances from sensor should be enabled" user="Advanced">
        <values>
          <value code="0">Off</value>
          <value code="1">On</value>
        </values>
      </param>
      <param humanName="Proximity filter cutoff frequency" name="PRX_FILT" documentation="Cutoff frequency for low pass filter applied to each face in the proximity boundary" user="Advanced">
        <field name="Range">0 20</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Proximity minimum range" name="PRX_MIN" documentation="Minimum expected range for Proximity Sensor. Setting this to 0 will set value to manufacturer reported range." user="Advanced">
        <field name="Range">0 500</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Proximity maximum range" name="PRX_MAX" documentation="Maximum expected range for Proximity Sensor. Setting this to 0 will set value to manufacturer reported range." user="Advanced">
        <field name="Range">0 500</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="PSC">
      <param humanName="XY Acceleration filter cutoff frequency" name="PSC_ACC_XY_FILT" documentation="Lower values will slow the response of the navigation controller and reduce twitchiness" user="Advanced">
        <field name="Range">0.5 5</field>
        <field name="Increment">0.1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position (vertical) controller P gain" name="PSC_POSZ_P" documentation="Position (vertical) controller P gain.  Converts the difference between the desired altitude and actual altitude into a climb or descent rate which is passed to the throttle rate controller" user="Standard">
        <field name="Range">1.000 3.000</field>
      </param>
      <param humanName="Velocity (vertical) controller P gain" name="PSC_VELZ_P" documentation="Velocity (vertical) controller P gain.  Converts the difference between desired vertical speed and actual speed into a desired acceleration that is passed to the throttle acceleration controller" user="Standard">
        <field name="Range">1.000 8.000</field>
      </param>
      <param humanName="Velocity (vertical) controller I gain" name="PSC_VELZ_I" documentation="Velocity (vertical) controller I gain.  Corrects long-term difference in desired velocity to a target acceleration" user="Advanced">
        <field name="Range">0.02 1.00</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Velocity (vertical) controller I gain maximum" name="PSC_VELZ_IMAX" documentation="Velocity (vertical) controller I gain maximum.  Constrains the target acceleration that the I gain will output" user="Standard">
        <field name="Range">1.000 8.000</field>
      </param>
      <param humanName="Velocity (vertical) controller D gain" name="PSC_VELZ_D" documentation="Velocity (vertical) controller D gain.  Corrects short-term changes in velocity" user="Advanced">
        <field name="Range">0.00 1.00</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Velocity (vertical) controller Feed Forward gain" name="PSC_VELZ_FF" documentation="Velocity (vertical) controller Feed Forward gain.  Produces an output that is proportional to the magnitude of the target" user="Advanced">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Velocity (vertical) error filter" name="PSC_VELZ_FLTE" documentation="Velocity (vertical) error filter.  This filter (in Hz) is applied to the input for P and I terms" user="Advanced">
        <field name="Range">0 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Velocity (vertical) input filter for D term" name="PSC_VELZ_FLTD" documentation="Velocity (vertical) input filter for D term.  This filter (in Hz) is applied to the input for D terms" user="Advanced">
        <field name="Range">0 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Acceleration (vertical) controller P gain" name="PSC_ACCZ_P" documentation="Acceleration (vertical) controller P gain.  Converts the difference between desired vertical acceleration and actual acceleration into a motor output" user="Standard">
        <field name="Range">0.200 1.500</field>
        <field name="Increment">0.05</field>
      </param>
      <param humanName="Acceleration (vertical) controller I gain" name="PSC_ACCZ_I" documentation="Acceleration (vertical) controller I gain.  Corrects long-term difference in desired vertical acceleration and actual acceleration" user="Standard">
        <field name="Range">0.000 3.000</field>
      </param>
      <param humanName="Acceleration (vertical) controller I gain maximum" name="PSC_ACCZ_IMAX" documentation="Acceleration (vertical) controller I gain maximum.  Constrains the maximum pwm that the I term will generate" user="Standard">
        <field name="Range">0 1000</field>
        <field name="Units">d%</field>
        <field name="UnitText">decipercent</field>
      </param>
      <param humanName="Acceleration (vertical) controller D gain" name="PSC_ACCZ_D" documentation="Acceleration (vertical) controller D gain.  Compensates for short-term change in desired vertical acceleration vs actual acceleration" user="Standard">
        <field name="Range">0.000 0.400</field>
      </param>
      <param humanName="Acceleration (vertical) controller feed forward" name="PSC_ACCZ_FF" documentation="Acceleration (vertical) controller feed forward" user="Standard">
        <field name="Range">0 0.5</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Acceleration (vertical) controller target frequency in Hz" name="PSC_ACCZ_FLTT" documentation="Acceleration (vertical) controller target frequency in Hz" user="Standard">
        <field name="Range">1 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Acceleration (vertical) controller error frequency in Hz" name="PSC_ACCZ_FLTE" documentation="Acceleration (vertical) controller error frequency in Hz" user="Standard">
        <field name="Range">1 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Acceleration (vertical) controller derivative frequency in Hz" name="PSC_ACCZ_FLTD" documentation="Acceleration (vertical) controller derivative frequency in Hz" user="Standard">
        <field name="Range">1 100</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Accel (vertical) slew rate limit" name="PSC_ACCZ_SMAX" documentation="Sets an upper limit on the slew rate produced by the combined P and D gains. If the amplitude of the control action produced by the rate feedback exceeds this value, then the D+P gain is reduced to respect the limit. This limits the amplitude of high frequency oscillations caused by an excessive gain. The limit should be set to no more than 25% of the actuators maximum slew rate to allow for load effects. Note: The gain will not be reduced to less than 10% of the nominal value. A value of zero will disable this feature." user="Advanced">
        <field name="Range">0 200</field>
        <field name="Increment">0.5</field>
      </param>
      <param humanName="Position (horizontal) controller P gain" name="PSC_POSXY_P" documentation="Position controller P gain.  Converts the distance (in the latitude direction) to the target location into a desired speed which is then passed to the loiter latitude rate controller" user="Standard">
        <field name="Range">0.500 2.000</field>
      </param>
      <param humanName="Velocity (horizontal) P gain" name="PSC_VELXY_P" documentation="Velocity (horizontal) P gain.  Converts the difference between desired and actual velocity to a target acceleration" user="Advanced">
        <field name="Range">0.1 6.0</field>
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Velocity (horizontal) I gain" name="PSC_VELXY_I" documentation="Velocity (horizontal) I gain.  Corrects long-term difference between desired and actual velocity to a target acceleration" user="Advanced">
        <field name="Range">0.02 1.00</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Velocity (horizontal) D gain" name="PSC_VELXY_D" documentation="Velocity (horizontal) D gain.  Corrects short-term changes in velocity" user="Advanced">
        <field name="Range">0.00 1.00</field>
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Velocity (horizontal) integrator maximum" name="PSC_VELXY_IMAX" documentation="Velocity (horizontal) integrator maximum.  Constrains the target acceleration that the I gain will output" user="Advanced">
        <field name="Range">0 4500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s/s</field>
        <field name="UnitText">centimeters per square second</field>
      </param>
      <param humanName="Velocity (horizontal) input filter" name="PSC_VELXY_FLTE" documentation="Velocity (horizontal) input filter.  This filter (in Hz) is applied to the input for P and I terms" user="Advanced">
        <field name="Range">0 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Velocity (horizontal) input filter" name="PSC_VELXY_FLTD" documentation="Velocity (horizontal) input filter.  This filter (in Hz) is applied to the input for D term" user="Advanced">
        <field name="Range">0 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Velocity (horizontal) feed forward gain" name="PSC_VELXY_FF" documentation="Velocity (horizontal) feed forward gain.  Converts the difference between desired velocity to a target acceleration" user="Advanced">
        <field name="Range">0 6</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Position Control Angle Max" name="PSC_ANGLE_MAX" documentation="Maximum lean angle autopilot can request.  Set to zero to use ANGLE_MAX parameter value" user="Advanced">
        <field name="Range">0 45</field>
        <field name="Increment">1</field>
        <field name="Units">deg</field>
        <field name="UnitText">degrees</field>
      </param>
      <param humanName="Jerk limit for the horizontal kinematic input shaping" name="PSC_JERK_XY" documentation="Jerk limit of the horizontal kinematic path generation used to determine how quickly the aircraft varies the acceleration target" user="Advanced">
        <field name="Range">1 20</field>
        <field name="Increment">1</field>
        <field name="Units">m/s/s/s</field>
        <field name="UnitText">meters per cubic second</field>
      </param>
      <param humanName="Jerk limit for the vertical kinematic input shaping" name="PSC_JERK_Z" documentation="Jerk limit of the vertical kinematic path generation used to determine how quickly the aircraft varies the acceleration target" user="Advanced">
        <field name="Range">5 50</field>
        <field name="Increment">1</field>
        <field name="Units">m/s/s/s</field>
        <field name="UnitText">meters per cubic second</field>
      </param>
    </parameters>
    <parameters name="RALLY_">
      <param humanName="Rally Total" name="RALLY_TOTAL" documentation="Number of rally points currently loaded" user="Advanced">
</param>
      <param humanName="Rally Limit" name="RALLY_LIMIT_KM" documentation="Maximum distance to rally point. If the closest rally point is more than this number of kilometers from the current position and the home location is closer than any of the rally points from the current position then do RTL to home rather than to the closest rally point. This prevents a leftover rally point from a different airfield being used accidentally. If this is set to 0 then the closest rally point is always used." user="Advanced">
        <field name="Increment">0.1</field>
        <field name="Units">km</field>
        <field name="UnitText">kilometers</field>
      </param>
      <param humanName="Rally Include Home" name="RALLY_INCL_HOME" documentation="Controls if Home is included as a Rally point (i.e. as a safe landing place) for RTL" user="Standard">
        <values>
          <value code="0">DoNotIncludeHome</value>
          <value code="1">IncludeHome</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC">
      <param humanName="RC override timeout" name="RC_OVERRIDE_TIME" documentation="Timeout after which RC overrides will no longer be used, and RC input will resume, 0 will disable RC overrides, -1 will never timeout, and continue using overrides until they are disabled" user="Advanced">
        <field name="Range">0.0 120.0</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="RC options" name="RC_OPTIONS" documentation="RC input options" user="Advanced">
        <field name="Bitmask">0:Ignore RC Receiver, 1:Ignore MAVLink Overrides, 2:Ignore Receiver Failsafe bit but allow other RC failsafes if setup, 3:FPort Pad, 4:Log RC input bytes, 5:Arming check throttle for 0 input, 6:Skip the arming check for neutral Roll/Pitch/Yaw sticks, 7:Allow Switch reverse, 8:Use passthrough for CRSF telemetry, 9:Suppress CRSF mode/rate message for ELRS systems,10:Enable multiple receiver support, 11:CRSF RSSI shows Link Quality</field>
      </param>
      <param humanName="RC protocols enabled" name="RC_PROTOCOLS" documentation="Bitmask of enabled RC protocols. Allows narrowing the protocol detection to only specific types of RC receivers which can avoid issues with incorrect detection. Set to 1 to enable all protocols." user="Advanced">
        <field name="Bitmask">0:All,1:PPM,2:IBUS,3:SBUS,4:SBUS_NI,5:DSM,6:SUMD,7:SRXL,8:SRXL2,9:CRSF,10:ST24,11:FPORT,12:FPORT2,13:FastSBUS</field>
      </param>
    </parameters>
    <parameters name="RC10_">
      <param humanName="RC min PWM" name="RC10_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC10_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC10_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC10_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC10_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC10_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC11_">
      <param humanName="RC min PWM" name="RC11_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC11_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC11_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC11_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC11_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC11_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC12_">
      <param humanName="RC min PWM" name="RC12_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC12_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC12_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC12_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC12_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC12_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC13_">
      <param humanName="RC min PWM" name="RC13_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC13_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC13_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC13_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC13_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC13_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC14_">
      <param humanName="RC min PWM" name="RC14_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC14_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC14_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC14_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC14_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC14_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC15_">
      <param humanName="RC min PWM" name="RC15_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC15_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC15_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC15_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC15_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC15_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC16_">
      <param humanName="RC min PWM" name="RC16_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC16_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC16_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC16_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC16_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC16_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC1_">
      <param humanName="RC min PWM" name="RC1_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC1_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC1_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC1_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC1_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC1_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC2_">
      <param humanName="RC min PWM" name="RC2_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC2_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC2_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC2_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC2_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC2_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC3_">
      <param humanName="RC min PWM" name="RC3_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC3_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC3_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC3_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC3_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC3_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC4_">
      <param humanName="RC min PWM" name="RC4_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC4_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC4_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC4_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC4_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC4_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC5_">
      <param humanName="RC min PWM" name="RC5_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC5_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC5_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC5_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC5_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC5_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC6_">
      <param humanName="RC min PWM" name="RC6_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC6_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC6_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC6_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC6_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC6_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC7_">
      <param humanName="RC min PWM" name="RC7_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC7_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC7_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC7_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC7_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC7_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC8_">
      <param humanName="RC min PWM" name="RC8_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC8_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC8_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC8_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC8_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC8_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RC9_">
      <param humanName="RC min PWM" name="RC9_MIN" documentation="RC minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC trim PWM" name="RC9_TRIM" documentation="RC trim (neutral) PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC max PWM" name="RC9_MAX" documentation="RC maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC reversed" name="RC9_REVERSED" documentation="Reverse channel input. Set to 0 for normal operation. Set to 1 to reverse this input channel." user="Advanced">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="RC dead-zone" name="RC9_DZ" documentation="PWM dead zone in microseconds around trim or bottom" user="Advanced">
        <field name="Range">0 200</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="RC input option" name="RC9_OPTION" documentation="Function assigned to this RC channel" user="Standard">
        <values>
          <value code="0">Do Nothing</value>
          <value code="2">Flip</value>
          <value code="3">Simple Mode</value>
          <value code="4">RTL</value>
          <value code="5">Save Trim</value>
          <value code="7">Save WP</value>
          <value code="9">Camera Trigger</value>
          <value code="10">RangeFinder</value>
          <value code="11">Fence</value>
          <value code="13">Super Simple Mode</value>
          <value code="14">Acro Trainer</value>
          <value code="15">Sprayer</value>
          <value code="16">Auto</value>
          <value code="17">AutoTune</value>
          <value code="18">Land</value>
          <value code="19">Gripper</value>
          <value code="21">Parachute Enable</value>
          <value code="22">Parachute Release</value>
          <value code="23">Parachute 3pos</value>
          <value code="24">Auto Mission Reset</value>
          <value code="25">AttCon Feed Forward</value>
          <value code="26">AttCon Accel Limits</value>
          <value code="27">Retract Mount</value>
          <value code="28">Relay On/Off</value>
          <value code="29">Landing Gear</value>
          <value code="30">Lost Copter Sound</value>
          <value code="31">Motor Emergency Stop</value>
          <value code="32">Motor Interlock</value>
          <value code="33">Brake</value>
          <value code="34">Relay2 On/Off</value>
          <value code="35">Relay3 On/Off</value>
          <value code="36">Relay4 On/Off</value>
          <value code="37">Throw</value>
          <value code="38">ADSB Avoidance En</value>
          <value code="39">PrecLoiter</value>
          <value code="40">Proximity Avoidance</value>
          <value code="41">ArmDisarm (4.1 and lower)</value>
          <value code="42">SmartRTL</value>
          <value code="43">InvertedFlight</value>
          <value code="46">RC Override Enable</value>
          <value code="47">User Function 1</value>
          <value code="48">User Function 2</value>
          <value code="49">User Function 3</value>
          <value code="52">Acro</value>
          <value code="55">Guided</value>
          <value code="56">Loiter</value>
          <value code="57">Follow</value>
          <value code="58">Clear Waypoints</value>
          <value code="60">ZigZag</value>
          <value code="61">ZigZag SaveWP</value>
          <value code="62">Compass Learn</value>
          <value code="65">GPS Disable</value>
          <value code="66">Relay5 On/Off</value>
          <value code="67">Relay6 On/Off</value>
          <value code="68">Stabilize</value>
          <value code="69">PosHold</value>
          <value code="70">AltHold</value>
          <value code="71">FlowHold</value>
          <value code="72">Circle</value>
          <value code="73">Drift</value>
          <value code="75">SurfaceTrackingUpDown</value>
          <value code="76">Standby Mode</value>
          <value code="78">RunCam Control</value>
          <value code="79">RunCam OSD Control</value>
          <value code="80">VisOdom Align</value>
          <value code="81">Disarm</value>
          <value code="83">ZigZag Auto</value>
          <value code="84">Air Mode</value>
          <value code="85">Generator</value>
          <value code="90">EKF Pos Source</value>
          <value code="94">VTX Power</value>
          <value code="99">AUTO RTL</value>
          <value code="100">KillIMU1</value>
          <value code="101">KillIMU2</value>
          <value code="102">Camera Mode Toggle</value>
          <value code="105">GPS Disable Yaw</value>
          <value code="151">Turtle</value>
          <value code="152">simple heading reset</value>
          <value code="153">ArmDisarm (4.2 and higher)</value>
          <value code="154">ArmDisarm with AirMode  (4.2 and higher)</value>
          <value code="158">Optflow Calibration</value>
          <value code="159">Force Flying</value>
          <value code="161">Turbine Start(heli)</value>
          <value code="300">Scripting1</value>
          <value code="301">Scripting2</value>
          <value code="302">Scripting3</value>
          <value code="303">Scripting4</value>
          <value code="304">Scripting5</value>
          <value code="305">Scripting6</value>
          <value code="306">Scripting7</value>
          <value code="307">Scripting8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RCMAP_">
      <param humanName="Roll channel" name="RCMAP_ROLL" documentation="Roll channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Roll is normally on channel 1, but you can move it to any channel with this parameter.  Reboot is required for changes to take effect." user="Advanced">
        <field name="Range">1 8</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Pitch channel" name="RCMAP_PITCH" documentation="Pitch channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Pitch is normally on channel 2, but you can move it to any channel with this parameter.  Reboot is required for changes to take effect." user="Advanced">
        <field name="Range">1 8</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Throttle channel" name="RCMAP_THROTTLE" documentation="Throttle channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Throttle is normally on channel 3, but you can move it to any channel with this parameter. Warning APM 2.X: Changing the throttle channel could produce unexpected fail-safe results if connection between receiver and on-board PPM Encoder is lost. Disabling on-board PPM Encoder is recommended.  Reboot is required for changes to take effect." user="Advanced">
        <field name="Range">1 8</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Yaw channel" name="RCMAP_YAW" documentation="Yaw channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Yaw (also known as rudder) is normally on channel 4, but you can move it to any channel with this parameter.  Reboot is required for changes to take effect." user="Advanced">
        <field name="Range">1 8</field>
        <field name="Increment">1</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="RELAY_">
      <param humanName="First Relay Pin" name="RELAY_PIN" documentation="Digital pin number for first relay control. This is the pin used for camera control." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
          <value code="27">BBBMini Pin P8.17</value>
          <value code="101">MainOut1</value>
          <value code="102">MainOut2</value>
          <value code="103">MainOut3</value>
          <value code="104">MainOut4</value>
          <value code="105">MainOut5</value>
          <value code="106">MainOut6</value>
          <value code="107">MainOut7</value>
          <value code="108">MainOut8</value>
        </values>
      </param>
      <param humanName="Second Relay Pin" name="RELAY_PIN2" documentation="Digital pin number for 2nd relay control." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
          <value code="65">BBBMini Pin P8.18</value>
          <value code="101">MainOut1</value>
          <value code="102">MainOut2</value>
          <value code="103">MainOut3</value>
          <value code="104">MainOut4</value>
          <value code="105">MainOut5</value>
          <value code="106">MainOut6</value>
          <value code="107">MainOut7</value>
          <value code="108">MainOut8</value>
        </values>
      </param>
      <param humanName="Third Relay Pin" name="RELAY_PIN3" documentation="Digital pin number for 3rd relay control." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
          <value code="22">BBBMini Pin P8.19</value>
          <value code="101">MainOut1</value>
          <value code="102">MainOut2</value>
          <value code="103">MainOut3</value>
          <value code="104">MainOut4</value>
          <value code="105">MainOut5</value>
          <value code="106">MainOut6</value>
          <value code="107">MainOut7</value>
          <value code="108">MainOut8</value>
        </values>
      </param>
      <param humanName="Fourth Relay Pin" name="RELAY_PIN4" documentation="Digital pin number for 4th relay control." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
          <value code="63">BBBMini Pin P8.34</value>
          <value code="101">MainOut1</value>
          <value code="102">MainOut2</value>
          <value code="103">MainOut3</value>
          <value code="104">MainOut4</value>
          <value code="105">MainOut5</value>
          <value code="106">MainOut6</value>
          <value code="107">MainOut7</value>
          <value code="108">MainOut8</value>
        </values>
      </param>
      <param humanName="Default relay state" name="RELAY_DEFAULT" documentation="The state of the relay on boot." user="Standard">
        <values>
          <value code="0">Off</value>
          <value code="1">On</value>
          <value code="2">NoChange</value>
        </values>
      </param>
      <param humanName="Fifth Relay Pin" name="RELAY_PIN5" documentation="Digital pin number for 5th relay control." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
          <value code="62">BBBMini Pin P8.13</value>
          <value code="101">MainOut1</value>
          <value code="102">MainOut2</value>
          <value code="103">MainOut3</value>
          <value code="104">MainOut4</value>
          <value code="105">MainOut5</value>
          <value code="106">MainOut6</value>
          <value code="107">MainOut7</value>
          <value code="108">MainOut8</value>
        </values>
      </param>
      <param humanName="Sixth Relay Pin" name="RELAY_PIN6" documentation="Digital pin number for 6th relay control." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="49">BB Blue GP0 pin 4</value>
          <value code="50">AUXOUT1</value>
          <value code="51">AUXOUT2</value>
          <value code="52">AUXOUT3</value>
          <value code="53">AUXOUT4</value>
          <value code="54">AUXOUT5</value>
          <value code="55">AUXOUT6</value>
          <value code="57">BB Blue GP0 pin 3</value>
          <value code="113">BB Blue GP0 pin 6</value>
          <value code="116">BB Blue GP0 pin 5</value>
          <value code="37">BBBMini Pin P8.14</value>
          <value code="101">MainOut1</value>
          <value code="102">MainOut2</value>
          <value code="103">MainOut3</value>
          <value code="104">MainOut4</value>
          <value code="105">MainOut5</value>
          <value code="106">MainOut6</value>
          <value code="107">MainOut7</value>
          <value code="108">MainOut8</value>
        </values>
      </param>
    </parameters>
    <parameters name="RNGFND1_">
      <param humanName="Rangefinder type" name="RNGFND1_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND1_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND1_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND1_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND1_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND1_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND1_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND1_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND1_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND1_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND1_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND1_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND1_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND1_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND1_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND1_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND1_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND1_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND1_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND1_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND1_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND1_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND1_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND1_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND2_">
      <param humanName="Rangefinder type" name="RNGFND2_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND2_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND2_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND2_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND2_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND2_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND2_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND2_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND2_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND2_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND2_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND2_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND2_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND2_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND2_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND2_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND2_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND2_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND2_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND2_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND2_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND2_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND2_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND2_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND3_">
      <param humanName="Rangefinder type" name="RNGFND3_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND3_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND3_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND3_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND3_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND3_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND3_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND3_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND3_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND3_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND3_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND3_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND3_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND3_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND3_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND3_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND3_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND3_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND3_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND3_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND3_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND3_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND3_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND3_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND4_">
      <param humanName="Rangefinder type" name="RNGFND4_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND4_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND4_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND4_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND4_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND4_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND4_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND4_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND4_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND4_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND4_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND4_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND4_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND4_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND4_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND4_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND4_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND4_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND4_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND4_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND4_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND4_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND4_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND4_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND5_">
      <param humanName="Rangefinder type" name="RNGFND5_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND5_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND5_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND5_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND5_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND5_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND5_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND5_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND5_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND5_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND5_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND5_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND5_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND5_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND5_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND5_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND5_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND5_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND5_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND5_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND5_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND5_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND5_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND5_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND6_">
      <param humanName="Rangefinder type" name="RNGFND6_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND6_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND6_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND6_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND6_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND6_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND6_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND6_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND6_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND6_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND6_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND6_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND6_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND6_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND6_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND6_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND6_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND6_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND6_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND6_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND6_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND6_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND6_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND6_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND7_">
      <param humanName="Rangefinder type" name="RNGFND7_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND7_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND7_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND7_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND7_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND7_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND7_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND7_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND7_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND7_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND7_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND7_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND7_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND7_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND7_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND7_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND7_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND7_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND7_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND7_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND7_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND7_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND7_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND7_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND8_">
      <param humanName="Rangefinder type" name="RNGFND8_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND8_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND8_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND8_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND8_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND8_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND8_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND8_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND8_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND8_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND8_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND8_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND8_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND8_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND8_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND8_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND8_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND8_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND8_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND8_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND8_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND8_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND8_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND8_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFND9_">
      <param humanName="Rangefinder type" name="RNGFND9_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFND9_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFND9_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFND9_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFND9_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFND9_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFND9_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFND9_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFND9_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFND9_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND9_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFND9_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFND9_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFND9_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFND9_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFND9_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFND9_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFND9_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFND9_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFND9_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFND9_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFND9_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFND9_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFND9_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RNGFNDA_">
      <param humanName="Rangefinder type" name="RNGFNDA_TYPE" documentation="Type of connected rangefinder" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Analog</value>
          <value code="2">MaxbotixI2C</value>
          <value code="3">LidarLite-I2C</value>
          <value code="5">PWM</value>
          <value code="6">BBB-PRU</value>
          <value code="7">LightWareI2C</value>
          <value code="8">LightWareSerial</value>
          <value code="9">Bebop</value>
          <value code="10">MAVLink</value>
          <value code="11">USD1_Serial</value>
          <value code="12">LeddarOne</value>
          <value code="13">MaxbotixSerial</value>
          <value code="14">TeraRangerI2C</value>
          <value code="15">LidarLiteV3-I2C</value>
          <value code="16">VL53L0X or VL53L1X</value>
          <value code="17">NMEA</value>
          <value code="18">WASP-LRF</value>
          <value code="19">BenewakeTF02</value>
          <value code="20">Benewake-Serial</value>
          <value code="21">LidarLightV3HP</value>
          <value code="22">PWM</value>
          <value code="23">BlueRoboticsPing</value>
          <value code="24">DroneCAN</value>
          <value code="25">BenewakeTFminiPlus-I2C</value>
          <value code="26">LanbaoPSK-CM8JL65-CC5</value>
          <value code="27">BenewakeTF03</value>
          <value code="28">VL53L1X-ShortRange</value>
          <value code="29">LeddarVu8-Serial</value>
          <value code="30">HC-SR04</value>
          <value code="31">GYUS42v2</value>
          <value code="32">MSP</value>
          <value code="33">USD1_CAN</value>
          <value code="34">Benewake_CAN</value>
          <value code="100">SITL</value>
        </values>
      </param>
      <param humanName="Rangefinder pin" name="RNGFNDA_PIN" documentation="Analog or PWM input pin that rangefinder is connected to. Airspeed ports can be used for Analog input, AUXOUT can be used for PWM input. When using analog pin 103, the maximum value of the input in 3.3V." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="Rangefinder scaling" name="RNGFNDA_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts. For Maxbotix serial sonar this is unit conversion to meters." user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">m/V</field>
        <field name="UnitText">meters per volt</field>
      </param>
      <param humanName="rangefinder offset" name="RNGFNDA_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM lidars" user="Standard">
        <field name="Increment">0.001</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Rangefinder function" name="RNGFNDA_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
        <values>
          <value code="0">Linear</value>
          <value code="1">Inverted</value>
          <value code="2">Hyperbolic</value>
        </values>
      </param>
      <param humanName="Rangefinder minimum distance" name="RNGFNDA_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder maximum distance" name="RNGFNDA_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Rangefinder stop pin" name="RNGFNDA_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for the pwm rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This is used to enable powersaving when out of range." user="Standard">
        <values>
          <value code="-1">Not Used</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="111">PX4 FMU Relay1</value>
          <value code="112">PX4 FMU Relay2</value>
          <value code="113">PX4IO Relay1</value>
          <value code="114">PX4IO Relay2</value>
          <value code="115">PX4IO ACC1</value>
          <value code="116">PX4IO ACC2</value>
        </values>
      </param>
      <param humanName="Ratiometric" name="RNGFNDA_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
        <values>
          <value code="0">No</value>
          <value code="1">Yes</value>
        </values>
      </param>
      <param humanName="Powersave range" name="RNGFNDA_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
        <field name="Range">0 32767</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Distance (in cm) from the range finder to the ground" name="RNGFNDA_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
        <field name="Range">5 127</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Bus address of sensor" name="RNGFNDA_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the I2C and DroneCAN sensors to allow for multiple sensors on different addresses." user="Standard">
        <field name="Range">0 127</field>
        <field name="Increment">1</field>
      </param>
      <param humanName=" X position offset" name="RNGFNDA_POS_X" documentation="X position of the rangefinder in body frame. Positive X is forward of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Y position offset" name="RNGFNDA_POS_Y" documentation="Y position of the rangefinder in body frame. Positive Y is to the right of the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Z position offset" name="RNGFNDA_POS_Z" documentation="Z position of the rangefinder in body frame. Positive Z is down from the origin. Use the zero range datum point if supplied." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Rangefinder orientation" name="RNGFNDA_ORIENT" documentation="Orientation of rangefinder" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="1">Forward-Right</value>
          <value code="2">Right</value>
          <value code="3">Back-Right</value>
          <value code="4">Back</value>
          <value code="5">Back-Left</value>
          <value code="6">Left</value>
          <value code="7">Forward-Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Moving Average Range" name="RNGFNDA_WSP_MAVG" documentation="Sets the number of historic range results to use for calculating the current range result. When MAVG is greater than 1, the current range result will be the current measured value averaged with the N-1 previous results" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Moving Median Filter" name="RNGFNDA_WSP_MEDF" documentation="Sets the window size for the real-time median filter. When MEDF is greater than 0 the median filter is active" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Frequency" name="RNGFNDA_WSP_FRQ" documentation="Sets the repetition frequency of the ranging operation in Hertz. Upon entering the desired frequency the system will calculate the nearest frequency that it can handle according to the resolution of internal timers." user="Advanced">
        <field name="Range">0 10000</field>
      </param>
      <param humanName="Multi-pulse averages" name="RNGFNDA_WSP_AVG" documentation="Sets the number of pulses to be used in multi-pulse averaging mode. In this mode, a sequence of rapid fire ranges are taken and then averaged to improve the accuracy of the measurement" user="Advanced">
        <field name="Range">0 255</field>
      </param>
      <param humanName="Sensitivity threshold" name="RNGFNDA_WSP_THR" documentation="Sets the system sensitivity. Larger values of THR represent higher sensitivity. The system may limit the maximum value of THR to prevent excessive false alarm rates based on settings made at the factory. Set to -1 for automatic threshold adjustments" user="Advanced">
        <field name="Range">-1 255</field>
      </param>
      <param humanName="Baud rate" name="RNGFNDA_WSP_BAUD" documentation="Desired baud rate" user="Advanced">
        <values>
          <value code="0">Low Speed</value>
          <value code="1">High Speed</value>
        </values>
      </param>
      <param humanName="CAN receive ID" name="RNGFNDA_RECV_ID" documentation="The receive ID of the CAN frames. A value of zero means all IDs are accepted." user="Advanced">
        <field name="Range">0 65535</field>
      </param>
      <param humanName="Minimum signal strength" name="RNGFNDA_SNR_MIN" documentation="Minimum signal strength (SNR) to accept distance" user="Advanced">
        <field name="Range">0 65535</field>
      </param>
    </parameters>
    <parameters name="RPM1_">
      <param humanName="RPM type" name="RPM1_TYPE" documentation="What type of RPM sensor is connected" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Not Used</value>
          <value code="2">AUXPIN</value>
          <value code="3">EFI</value>
          <value code="4">Harmonic Notch</value>
          <value code="5">ESC Telemetry Motors Bitmask</value>
        </values>
      </param>
      <param humanName="RPM scaling" name="RPM1_SCALING" documentation="Scaling factor between sensor reading and RPM." user="Standard">
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Maximum RPM" name="RPM1_MAX" documentation="Maximum RPM to report. Only used on type = PWM." user="Standard">
        <field name="Increment">1</field>
      </param>
      <param humanName="Minimum RPM" name="RPM1_MIN" documentation="Minimum RPM to report. Only used on type = PWM." user="Standard">
        <field name="Increment">1</field>
      </param>
      <param humanName="Minimum Quality" name="RPM1_MIN_QUAL" documentation="Minimum data quality to be used" user="Advanced">
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Input pin number" name="RPM1_PIN" documentation="Which pin to use. Only used on type = PWM." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
        </values>
      </param>
      <param humanName="Bitmask of ESC telemetry channels to average" name="RPM1_ESC_MASK" documentation="Mask of channels which support ESC rpm telemetry. RPM telemetry of the selected channels will be averaged" user="Advanced">
        <field name="Bitmask">0:Channel1,1:Channel2,2:Channel3,3:Channel4,4:Channel5,5:Channel6,6:Channel7,7:Channel8,8:Channel9,9:Channel10,10:Channel11,11:Channel12,12:Channel13,13:Channel14,14:Channel15,15:Channel16</field>
      </param>
    </parameters>
    <parameters name="RPM2_">
      <param humanName="RPM type" name="RPM2_TYPE" documentation="What type of RPM sensor is connected" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Not Used</value>
          <value code="2">AUXPIN</value>
          <value code="3">EFI</value>
          <value code="4">Harmonic Notch</value>
          <value code="5">ESC Telemetry Motors Bitmask</value>
        </values>
      </param>
      <param humanName="RPM scaling" name="RPM2_SCALING" documentation="Scaling factor between sensor reading and RPM." user="Standard">
        <field name="Increment">0.001</field>
      </param>
      <param humanName="Maximum RPM" name="RPM2_MAX" documentation="Maximum RPM to report. Only used on type = PWM." user="Standard">
        <field name="Increment">1</field>
      </param>
      <param humanName="Minimum RPM" name="RPM2_MIN" documentation="Minimum RPM to report. Only used on type = PWM." user="Standard">
        <field name="Increment">1</field>
      </param>
      <param humanName="Minimum Quality" name="RPM2_MIN_QUAL" documentation="Minimum data quality to be used" user="Advanced">
        <field name="Increment">0.1</field>
      </param>
      <param humanName="Input pin number" name="RPM2_PIN" documentation="Which pin to use. Only used on type = PWM." user="Standard">
        <values>
          <value code="-1">Disabled</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
        </values>
      </param>
      <param humanName="Bitmask of ESC telemetry channels to average" name="RPM2_ESC_MASK" documentation="Mask of channels which support ESC rpm telemetry. RPM telemetry of the selected channels will be averaged" user="Advanced">
        <field name="Bitmask">0:Channel1,1:Channel2,2:Channel3,3:Channel4,4:Channel5,5:Channel6,6:Channel7,7:Channel8,8:Channel9,9:Channel10,10:Channel11,11:Channel12,12:Channel13,13:Channel14,14:Channel15,15:Channel16</field>
      </param>
    </parameters>
    <parameters name="RSSI_">
      <param humanName="RSSI Type" name="RSSI_TYPE" documentation="Radio Receiver RSSI type. If your radio receiver supports RSSI of some kind, set it here, then set its associated RSSI_XXXXX parameters, if any." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">AnalogPin</value>
          <value code="2">RCChannelPwmValue</value>
          <value code="3">ReceiverProtocol</value>
          <value code="4">PWMInputPin</value>
          <value code="5">TelemetryRadioRSSI</value>
        </values>
      </param>
      <param humanName="Receiver RSSI sensing pin" name="RSSI_ANA_PIN" documentation="Pin used to read the RSSI voltage or PWM value" user="Standard">
        <values>
          <value code="8">V5 Nano</value>
          <value code="11">Pixracer</value>
          <value code="13">Pixhawk ADC4</value>
          <value code="14">Pixhawk ADC3</value>
          <value code="15">Pixhawk ADC6/Pixhawk2 ADC</value>
          <value code="50">AUX1</value>
          <value code="51">AUX2</value>
          <value code="52">AUX3</value>
          <value code="53">AUX4</value>
          <value code="54">AUX5</value>
          <value code="55">AUX6</value>
          <value code="103">Pixhawk SBUS</value>
        </values>
      </param>
      <param humanName="RSSI pin's lowest voltage" name="RSSI_PIN_LOW" documentation="RSSI pin's voltage received on the RSSI_ANA_PIN when the signal strength is the weakest. Some radio receivers put out inverted values so this value may be higher than RSSI_PIN_HIGH. When using pin 103, the maximum value of the parameter is 3.3V." user="Standard">
        <field name="Range">0 5.0</field>
        <field name="Increment">0.01</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="RSSI pin's highest voltage" name="RSSI_PIN_HIGH" documentation="RSSI pin's voltage received on the RSSI_ANA_PIN when the signal strength is the strongest. Some radio receivers put out inverted values so this value may be lower than RSSI_PIN_LOW. When using pin 103, the maximum value of the parameter is 3.3V." user="Standard">
        <field name="Range">0 5.0</field>
        <field name="Increment">0.01</field>
        <field name="Units">V</field>
        <field name="UnitText">volt</field>
      </param>
      <param humanName="Receiver RSSI channel number" name="RSSI_CHANNEL" documentation="The channel number where RSSI will be output by the radio receiver (5 and above)." user="Standard">
        <field name="Range">0 16</field>
      </param>
      <param humanName="RSSI PWM low value" name="RSSI_CHAN_LOW" documentation="PWM value that the radio receiver will put on the RSSI_CHANNEL or RSSI_ANA_PIN when the signal strength is the weakest. Some radio receivers output inverted values so this value may be lower than RSSI_CHAN_HIGH" user="Standard">
        <field name="Range">0 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Receiver RSSI PWM high value" name="RSSI_CHAN_HIGH" documentation="PWM value that the radio receiver will put on the RSSI_CHANNEL or RSSI_ANA_PIN when the signal strength is the strongest. Some radio receivers output inverted values so this value may be higher than RSSI_CHAN_LOW" user="Standard">
        <field name="Range">0 2000</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
    </parameters>
    <parameters name="SCHED_">
      <param humanName="Scheduler debug level" name="SCHED_DEBUG" documentation="Set to non-zero to enable scheduler debug messages. When set to show &quot;Slips&quot; the scheduler will display a message whenever a scheduled task is delayed due to too much CPU load. When set to ShowOverruns the scheduled will display a message whenever a task takes longer than the limit promised in the task table." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="2">ShowSlips</value>
          <value code="3">ShowOverruns</value>
        </values>
      </param>
      <param humanName="Scheduling main loop rate" name="SCHED_LOOP_RATE" documentation="This controls the rate of the main control loop in Hz. This should only be changed by developers. This only takes effect on restart. Values over 400 are considered highly experimental." user="Advanced">
        <values>
          <value code="50">50Hz</value>
          <value code="100">100Hz</value>
          <value code="200">200Hz</value>
          <value code="250">250Hz</value>
          <value code="300">300Hz</value>
          <value code="400">400Hz</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Scheduling options" name="SCHED_OPTIONS" documentation="This controls optional aspects of the scheduler." user="Advanced">
        <field name="Bitmask">0:Enable per-task perf info</field>
      </param>
    </parameters>
    <parameters name="SCR_">
      <param humanName="Enable Scripting" name="SCR_ENABLE" documentation="Controls if scripting is enabled" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">Lua Scripts</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Scripting Virtual Machine Instruction Count" name="SCR_VM_I_COUNT" documentation="The number virtual machine instructions that can be run before considering a script to have taken an excessive amount of time" user="Advanced">
        <field name="Range">1000 1000000</field>
        <field name="Increment">10000</field>
      </param>
      <param humanName="Scripting Heap Size" name="SCR_HEAP_SIZE" documentation="Amount of memory available for scripting" user="Advanced">
        <field name="Range">1024 1048576</field>
        <field name="Increment">1024</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Scripting Debug Level" name="SCR_DEBUG_OPTS" documentation="Debugging options" user="Advanced">
        <field name="Bitmask">0:No Scripts to run message if all scripts have stopped, 1:Runtime messages for memory usage and execution time, 2:Suppress logging scripts to dataflash, 3:log runtime memory usage and execution time</field>
      </param>
      <param humanName="Scripting User Parameter1" name="SCR_USER1" documentation="General purpose user variable input for scripts" user="Standard">
</param>
      <param humanName="Scripting User Parameter2" name="SCR_USER2" documentation="General purpose user variable input for scripts" user="Standard">
</param>
      <param humanName="Scripting User Parameter3" name="SCR_USER3" documentation="General purpose user variable input for scripts" user="Standard">
</param>
      <param humanName="Scripting User Parameter4" name="SCR_USER4" documentation="General purpose user variable input for scripts" user="Standard">
</param>
      <param humanName="Scripting User Parameter5" name="SCR_USER5" documentation="General purpose user variable input for scripts" user="Standard">
</param>
      <param humanName="Scripting User Parameter6" name="SCR_USER6" documentation="General purpose user variable input for scripts" user="Standard">
</param>
      <param humanName="Directory disable" name="SCR_DIR_DISABLE" documentation="This will stop scripts being loaded from the given locations" user="Advanced">
        <field name="Bitmask">0:ROMFS, 1:APM/scripts</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="SERIAL">
      <param humanName="Serial0 baud rate" name="SERIAL0_BAUD" documentation="The baud rate used on the USB console. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Console protocol selection" name="SERIAL0_PROTOCOL" documentation="Control what protocol to use on the console. " user="Standard">
        <values>
          <value code="1">MAVlink1</value>
          <value code="2">MAVLink2</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Telem1 protocol selection" name="SERIAL1_PROTOCOL" documentation="Control what protocol to use on the Telem1 port. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Telem1 Baud Rate" name="SERIAL1_BAUD" documentation="The baud rate used on the Telem1 port. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Telemetry 2 protocol selection" name="SERIAL2_PROTOCOL" documentation="Control what protocol to use on the Telem2 port. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Telemetry 2 Baud Rate" name="SERIAL2_BAUD" documentation="The baud rate of the Telem2 port. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Serial 3 (GPS) protocol selection" name="SERIAL3_PROTOCOL" documentation="Control what protocol Serial 3 (GPS) should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 3 (GPS) Baud Rate" name="SERIAL3_BAUD" documentation="The baud rate used for the Serial 3 (GPS). Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Serial4 protocol selection" name="SERIAL4_PROTOCOL" documentation="Control what protocol Serial4 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 4 Baud Rate" name="SERIAL4_BAUD" documentation="The baud rate used for Serial4. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Serial5 protocol selection" name="SERIAL5_PROTOCOL" documentation="Control what protocol Serial5 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 5 Baud Rate" name="SERIAL5_BAUD" documentation="The baud rate used for Serial5. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Serial6 protocol selection" name="SERIAL6_PROTOCOL" documentation="Control what protocol Serial6 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 6 Baud Rate" name="SERIAL6_BAUD" documentation="The baud rate used for Serial6. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Telem1 options" name="SERIAL1_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire. The Swap option allows the RX and TX pins to be swapped on STM32F7 based boards." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Telem2 options" name="SERIAL2_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial3 options" name="SERIAL3_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial4 options" name="SERIAL4_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial5 options" name="SERIAL5_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial6 options" name="SERIAL6_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial passthru first port" name="SERIAL_PASS1" documentation="This sets one side of pass-through between two serial ports. Once both sides are set then all data received on either port will be passed to the other port" user="Advanced">
        <values>
          <value code="-1">Disabled</value>
          <value code="0">Serial0</value>
          <value code="1">Serial1</value>
          <value code="2">Serial2</value>
          <value code="3">Serial3</value>
          <value code="4">Serial4</value>
          <value code="5">Serial5</value>
          <value code="6">Serial6</value>
        </values>
      </param>
      <param humanName="Serial passthru second port" name="SERIAL_PASS2" documentation="This sets one side of pass-through between two serial ports. Once both sides are set then all data received on either port will be passed to the other port" user="Advanced">
        <values>
          <value code="-1">Disabled</value>
          <value code="0">Serial0</value>
          <value code="1">Serial1</value>
          <value code="2">Serial2</value>
          <value code="3">Serial3</value>
          <value code="4">Serial4</value>
          <value code="5">Serial5</value>
          <value code="6">Serial6</value>
        </values>
      </param>
      <param humanName="Serial passthru timeout" name="SERIAL_PASSTIMO" documentation="This sets a timeout for serial pass-through in seconds. When the pass-through is enabled by setting the SERIAL_PASS1 and SERIAL_PASS2 parameters then it remains in effect until no data comes from the first port for SERIAL_PASSTIMO seconds. This allows the port to revent to its normal usage (such as MAVLink connection to a GCS) when it is no longer needed. A value of 0 means no timeout." user="Advanced">
        <field name="Range">0 120</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Serial7 protocol selection" name="SERIAL7_PROTOCOL" documentation="Control what protocol Serial7 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 7 Baud Rate" name="SERIAL7_BAUD" documentation="The baud rate used for Serial7. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Serial7 options" name="SERIAL7_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial8 protocol selection" name="SERIAL8_PROTOCOL" documentation="Control what protocol Serial8 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 8 Baud Rate" name="SERIAL8_BAUD" documentation="The baud rate used for Serial8. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Serial8 options" name="SERIAL8_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial9 protocol selection" name="SERIAL9_PROTOCOL" documentation="Control what protocol Serial9 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
        <values>
          <value code="-1">None</value>
          <value code="1">MAVLink1</value>
          <value code="2">MAVLink2</value>
          <value code="3">Frsky D</value>
          <value code="4">Frsky SPort</value>
          <value code="5">GPS</value>
          <value code="7">Alexmos Gimbal Serial</value>
          <value code="8">SToRM32 Gimbal Serial</value>
          <value code="9">Rangefinder</value>
          <value code="10">FrSky SPort Passthrough (OpenTX)</value>
          <value code="11">Lidar360</value>
          <value code="13">Beacon</value>
          <value code="14">Volz servo out</value>
          <value code="15">SBus servo out</value>
          <value code="16">ESC Telemetry</value>
          <value code="17">Devo Telemetry</value>
          <value code="18">OpticalFlow</value>
          <value code="19">RobotisServo</value>
          <value code="20">NMEA Output</value>
          <value code="21">WindVane</value>
          <value code="22">SLCAN</value>
          <value code="23">RCIN</value>
          <value code="24">MegaSquirt EFI</value>
          <value code="25">LTM</value>
          <value code="26">RunCam</value>
          <value code="27">HottTelem</value>
          <value code="28">Scripting</value>
          <value code="29">Crossfire VTX</value>
          <value code="30">Generator</value>
          <value code="31">Winch</value>
          <value code="32">MSP</value>
          <value code="33">DJI FPV</value>
          <value code="34">AirSpeed</value>
          <value code="35">ADSB</value>
          <value code="36">AHRS</value>
          <value code="37">SmartAudio</value>
          <value code="38">FETtecOneWire</value>
          <value code="39">Torqeedo</value>
          <value code="40">AIS</value>
          <value code="41">CoDevESC</value>
          <value code="42">DisplayPort</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Serial 9 Baud Rate" name="SERIAL9_BAUD" documentation="The baud rate used for Serial8. Most stm32-based boards can support rates of up to 1500. If you setup a rate you cannot support and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
        <values>
          <value code="1">1200</value>
          <value code="2">2400</value>
          <value code="4">4800</value>
          <value code="9">9600</value>
          <value code="19">19200</value>
          <value code="38">38400</value>
          <value code="57">57600</value>
          <value code="111">111100</value>
          <value code="115">115200</value>
          <value code="230">230400</value>
          <value code="256">256000</value>
          <value code="460">460800</value>
          <value code="500">500000</value>
          <value code="921">921600</value>
          <value code="1500">1500000</value>
        </values>
      </param>
      <param humanName="Serial9 options" name="SERIAL9_OPTIONS" documentation="Control over UART options. The InvertRX option controls invert of the receive pin. The InvertTX option controls invert of the transmit pin. The HalfDuplex option controls half-duplex (onewire) mode, where both transmit and receive is done on the transmit wire." user="Advanced">
        <field name="Bitmask">0:InvertRX, 1:InvertTX, 2:HalfDuplex, 3:Swap, 4: RX_PullDown, 5: RX_PullUp, 6: TX_PullDown, 7: TX_PullUp, 8: RX_NoDMA, 9: TX_NoDMA, 10: Don't forward mavlink to/from, 11: DisableFIFO, 12: Ignore Streamrate</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="SERVO">
      <param humanName="Servo default output rate" name="SERVO_RATE" documentation="This sets the default output rate in Hz for all outputs." user="Advanced">
        <field name="Range">25 400</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Servo DShot output rate" name="SERVO_DSHOT_RATE" documentation="This sets the DShot output rate for all outputs as a multiple of the loop rate. 0 sets the output rate to be fixed at 1Khz for low loop rates. This value should never be set below 500Hz." user="Advanced">
        <values>
          <value code="0">1Khz</value>
          <value code="1">loop-rate</value>
          <value code="2">double loop-rate</value>
          <value code="3">triple loop-rate</value>
          <value code="4">quadruple loop rate</value>
        </values>
      </param>
      <param humanName="Servo DShot ESC type" name="SERVO_DSHOT_ESC" documentation="This sets the DShot ESC type for all outputs. The ESC type affects the range of DShot commands available. None means that no dshot commands will be executed." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">BLHeli32/Kiss</value>
          <value code="2">BLHeli_S</value>
        </values>
      </param>
      <param humanName="Servo GPIO mask" name="SERVO_GPIO_MASK" documentation="This sets a bitmask of outputs which will be available as GPIOs. Any auxillary output with either the function set to -1 or with the corresponding bit set in this mask will be available for use as a GPIO pin" user="Advanced">
        <field name="Bitmask">0:Servo 1, 1:Servo 2, 2:Servo 3, 3:Servo 4, 4:Servo 5, 5:Servo 6, 6:Servo 7, 7:Servo 8, 8:Servo 9, 9:Servo 10, 10:Servo 11, 11:Servo 12, 12:Servo 13, 13:Servo 14, 14:Servo 15, 15:Servo 16</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="SERVO10_">
      <param humanName="Minimum PWM" name="SERVO10_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO10_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO10_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO10_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO10_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO11_">
      <param humanName="Minimum PWM" name="SERVO11_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO11_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO11_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO11_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO11_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO12_">
      <param humanName="Minimum PWM" name="SERVO12_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO12_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO12_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO12_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO12_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO13_">
      <param humanName="Minimum PWM" name="SERVO13_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO13_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO13_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO13_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO13_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO14_">
      <param humanName="Minimum PWM" name="SERVO14_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO14_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO14_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO14_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO14_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO15_">
      <param humanName="Minimum PWM" name="SERVO15_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO15_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO15_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO15_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO15_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO16_">
      <param humanName="Minimum PWM" name="SERVO16_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO16_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO16_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO16_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO16_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO1_">
      <param humanName="Minimum PWM" name="SERVO1_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO1_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO1_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO1_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO1_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO2_">
      <param humanName="Minimum PWM" name="SERVO2_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO2_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO2_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO2_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO2_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO3_">
      <param humanName="Minimum PWM" name="SERVO3_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO3_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO3_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO3_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO3_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO4_">
      <param humanName="Minimum PWM" name="SERVO4_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO4_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO4_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO4_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO4_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO5_">
      <param humanName="Minimum PWM" name="SERVO5_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO5_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO5_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO5_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO5_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO6_">
      <param humanName="Minimum PWM" name="SERVO6_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO6_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO6_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO6_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO6_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO7_">
      <param humanName="Minimum PWM" name="SERVO7_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO7_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO7_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO7_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO7_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO8_">
      <param humanName="Minimum PWM" name="SERVO8_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO8_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO8_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO8_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO8_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO9_">
      <param humanName="Minimum PWM" name="SERVO9_MIN" documentation="minimum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">500 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Maximum PWM" name="SERVO9_MAX" documentation="maximum PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Trim PWM" name="SERVO9_TRIM" documentation="Trim PWM pulse width in microseconds. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Standard">
        <field name="Range">800 2200</field>
        <field name="Increment">1</field>
        <field name="Units">PWM</field>
        <field name="UnitText">PWM in microseconds</field>
      </param>
      <param humanName="Servo reverse" name="SERVO9_REVERSED" documentation="Reverse servo operation. Set to 0 for normal operation. Set to 1 to reverse this output channel." user="Standard">
        <values>
          <value code="0">Normal</value>
          <value code="1">Reversed</value>
        </values>
      </param>
      <param humanName="Servo output function" name="SERVO9_FUNCTION" documentation="Function assigned to this servo. Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
        <values>
          <value code="-1">GPIO</value>
          <value code="0">Disabled</value>
          <value code="1">RCPassThru</value>
          <value code="6">MountPan</value>
          <value code="7">MountTilt</value>
          <value code="8">MountRoll</value>
          <value code="9">MountOpen</value>
          <value code="10">CameraTrigger</value>
          <value code="12">Mount2Pan</value>
          <value code="13">Mount2Tilt</value>
          <value code="14">Mount2Roll</value>
          <value code="15">Mount2Open</value>
          <value code="22">SprayerPump</value>
          <value code="23">SprayerSpinner</value>
          <value code="27">Parachute</value>
          <value code="28">Gripper</value>
          <value code="29">LandingGear</value>
          <value code="30">EngineRunEnable</value>
          <value code="31">HeliRSC</value>
          <value code="32">HeliTailRSC</value>
          <value code="33">Motor1</value>
          <value code="34">Motor2</value>
          <value code="35">Motor3</value>
          <value code="36">Motor4</value>
          <value code="37">Motor5</value>
          <value code="38">Motor6</value>
          <value code="39">Motor7</value>
          <value code="40">Motor8</value>
          <value code="51">RCIN1</value>
          <value code="52">RCIN2</value>
          <value code="53">RCIN3</value>
          <value code="54">RCIN4</value>
          <value code="55">RCIN5</value>
          <value code="56">RCIN6</value>
          <value code="57">RCIN7</value>
          <value code="58">RCIN8</value>
          <value code="59">RCIN9</value>
          <value code="60">RCIN10</value>
          <value code="61">RCIN11</value>
          <value code="62">RCIN12</value>
          <value code="63">RCIN13</value>
          <value code="64">RCIN14</value>
          <value code="65">RCIN15</value>
          <value code="66">RCIN16</value>
          <value code="73">ThrottleLeft</value>
          <value code="74">ThrottleRight</value>
          <value code="75">TiltMotorFrontLeft</value>
          <value code="76">TiltMotorFrontRight</value>
          <value code="81">BoostThrottle</value>
          <value code="82">Motor9</value>
          <value code="83">Motor10</value>
          <value code="84">Motor11</value>
          <value code="85">Motor12</value>
          <value code="88">Winch</value>
          <value code="90">CameraISO</value>
          <value code="91">CameraAperture</value>
          <value code="92">CameraFocus</value>
          <value code="93">CameraShutterSpeed</value>
          <value code="94">Script1</value>
          <value code="95">Script2</value>
          <value code="96">Script3</value>
          <value code="97">Script4</value>
          <value code="98">Script5</value>
          <value code="99">Script6</value>
          <value code="100">Script7</value>
          <value code="101">Script8</value>
          <value code="102">Script9</value>
          <value code="103">Script10</value>
          <value code="104">Script11</value>
          <value code="105">Script12</value>
          <value code="106">Script13</value>
          <value code="107">Script14</value>
          <value code="108">Script15</value>
          <value code="109">Script16</value>
          <value code="120">NeoPixel1</value>
          <value code="121">NeoPixel2</value>
          <value code="122">NeoPixel3</value>
          <value code="123">NeoPixel4</value>
          <value code="124">RateRoll</value>
          <value code="125">RatePitch</value>
          <value code="126">RateThrust</value>
          <value code="127">RateYaw</value>
          <value code="129">ProfiLED1</value>
          <value code="130">ProfiLED2</value>
          <value code="131">ProfiLED3</value>
          <value code="132">ProfiLEDClock</value>
          <value code="133">Winch Clutch</value>
          <value code="134">SERVOn_MIN</value>
          <value code="135">SERVOn_TRIM</value>
          <value code="136">SERVOn_MAX</value>
          <value code="138">Alarm</value>
          <value code="139">Alarm Inverted</value>
        </values>
      </param>
    </parameters>
    <parameters name="SERVO_BLH_">
      <param humanName="BLHeli Channel Bitmask" name="SERVO_BLH_MASK" documentation="Enable of BLHeli pass-thru servo protocol support to specific channels. This mask is in addition to motors enabled using SERVO_BLH_AUTO (if any)" user="Advanced">
        <field name="Bitmask">0:Channel1,1:Channel2,2:Channel3,3:Channel4,4:Channel5,5:Channel6,6:Channel7,7:Channel8,8:Channel9,9:Channel10,10:Channel11,11:Channel12,12:Channel13,13:Channel14,14:Channel15,15:Channel16</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="BLHeli pass-thru auto-enable for multicopter motors" name="SERVO_BLH_AUTO" documentation="If set to 1 this auto-enables BLHeli pass-thru support for all multicopter motors" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="BLHeli internal interface test" name="SERVO_BLH_TEST" documentation="Setting SERVO_BLH_TEST to a motor number enables an internal test of the BLHeli ESC protocol to the corresponding ESC. The debug output is displayed on the USB console." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">TestMotor1</value>
          <value code="2">TestMotor2</value>
          <value code="3">TestMotor3</value>
          <value code="4">TestMotor4</value>
          <value code="5">TestMotor5</value>
          <value code="6">TestMotor6</value>
          <value code="7">TestMotor7</value>
          <value code="8">TestMotor8</value>
        </values>
      </param>
      <param humanName="BLHeli protocol timeout" name="SERVO_BLH_TMOUT" documentation="This sets the inactivity timeout for the BLHeli protocol in seconds. If no packets are received in this time normal MAVLink operations are resumed. A value of 0 means no timeout" user="Standard">
        <field name="Range">0 300</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="BLHeli telemetry rate" name="SERVO_BLH_TRATE" documentation="This sets the rate in Hz for requesting telemetry from ESCs. It is the rate per ESC. Setting to zero disables telemetry requests" user="Standard">
        <field name="Range">0 500</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="BLHeli debug level" name="SERVO_BLH_DEBUG" documentation="When set to 1 this enabled verbose debugging output over MAVLink when the blheli protocol is active. This can be used to diagnose failures." user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="BLHeli output type override" name="SERVO_BLH_OTYPE" documentation="When set to a non-zero value this overrides the output type for the output channels given by SERVO_BLH_MASK. This can be used to enable DShot on outputs that are not part of the multicopter motors group." user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">OneShot</value>
          <value code="2">OneShot125</value>
          <value code="3">Brushed</value>
          <value code="4">DShot150</value>
          <value code="5">DShot300</value>
          <value code="6">DShot600</value>
          <value code="7">DShot1200</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Control port" name="SERVO_BLH_PORT" documentation="This sets the mavlink channel to use for blheli pass-thru. The channel number is determined by the number of serial ports configured to use mavlink. So 0 is always the console, 1 is the next serial port using mavlink, 2 the next after that and so on." user="Advanced">
        <values>
          <value code="0">Console</value>
          <value code="1">Mavlink Serial Channel1</value>
          <value code="2">Mavlink Serial Channel2</value>
          <value code="3">Mavlink Serial Channel3</value>
          <value code="4">Mavlink Serial Channel4</value>
          <value code="5">Mavlink Serial Channel5</value>
        </values>
      </param>
      <param humanName="BLHeli Motor Poles" name="SERVO_BLH_POLES" documentation="This allows calculation of true RPM from ESC's eRPM. The default is 14." user="Advanced">
        <field name="Range">1 127</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="BLHeli bitmask of 3D channels" name="SERVO_BLH_3DMASK" documentation="Mask of channels which are dynamically reversible. This is used to configure ESCs in '3D' mode, allowing for the motor to spin in either direction" user="Advanced">
        <field name="Bitmask">0:Channel1,1:Channel2,2:Channel3,3:Channel4,4:Channel5,5:Channel6,6:Channel7,7:Channel8,8:Channel9,9:Channel10,10:Channel11,11:Channel12,12:Channel13,13:Channel14,14:Channel15,15:Channel16</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="BLHeli bitmask of bi-directional dshot channels" name="SERVO_BLH_BDMASK" documentation="Mask of channels which support bi-directional dshot. This is used for ESCs which have firmware that supports bi-directional dshot allowing fast rpm telemetry values to be returned for the harmonic notch." user="Advanced">
        <field name="Bitmask">0:Channel1,1:Channel2,2:Channel3,3:Channel4,4:Channel5,5:Channel6,6:Channel7,7:Channel8,8:Channel9,9:Channel10,10:Channel11,11:Channel12,12:Channel13,13:Channel14,14:Channel15,15:Channel16</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="BLHeli bitmask of reversed channels" name="SERVO_BLH_RVMASK" documentation="Mask of channels which are reversed. This is used to configure ESCs in reversed mode" user="Advanced">
        <field name="Bitmask">0:Channel1,1:Channel2,2:Channel3,3:Channel4,4:Channel5,5:Channel6,6:Channel7,7:Channel8,8:Channel9,9:Channel10,10:Channel11,11:Channel12,12:Channel13,13:Channel14,14:Channel15,15:Channel16</field>
        <field name="RebootRequired">True</field>
      </param>
    </parameters>
    <parameters name="SERVO_FTW_">
      <param humanName="Servo channel output bitmask" name="SERVO_FTW_MASK" documentation="Servo channel mask specifying FETtec ESC output." user="Standard">
        <field name="Bitmask">0:SERVO1,1:SERVO2,2:SERVO3,3:SERVO4,4:SERVO5,5:SERVO6,6:SERVO7,7:SERVO8,8:SERVO9,9:SERVO10,10:SERVO11,11:SERVO12</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Servo channel reverse rotation bitmask" name="SERVO_FTW_RVMASK" documentation="Servo channel mask to reverse rotation of FETtec ESC outputs." user="Standard">
        <field name="Bitmask">0:SERVO1,1:SERVO2,2:SERVO3,3:SERVO4,4:SERVO5,5:SERVO6,6:SERVO7,7:SERVO8,8:SERVO9,9:SERVO10,10:SERVO11,11:SERVO12</field>
      </param>
      <param humanName="Nr. electrical poles" name="SERVO_FTW_POLES" documentation="Number of motor electrical poles" user="Standard">
        <field name="Range">2 50</field>
      </param>
    </parameters>
    <parameters name="SERVO_ROB_">
      <param humanName="Robotis servo position min" name="SERVO_ROB_POSMIN" documentation="Position minimum at servo min value. This should be within the position control range of the servos, normally 0 to 4095" user="Standard">
        <field name="Range">0 4095</field>
      </param>
      <param humanName="Robotis servo position max" name="SERVO_ROB_POSMAX" documentation="Position maximum at servo max value. This should be within the position control range of the servos, normally 0 to 4095" user="Standard">
        <field name="Range">0 4095</field>
      </param>
    </parameters>
    <parameters name="SERVO_SBUS_">
      <param humanName="SBUS default output rate" name="SERVO_SBUS_RATE" documentation="This sets the SBUS output frame rate in Hz." user="Advanced">
        <field name="Range">25 250</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SERVO_VOLZ_">
      <param humanName="Channel Bitmask" name="SERVO_VOLZ_MASK" documentation="Enable of volz servo protocol to specific channels" user="Standard">
        <field name="Bitmask">0:Channel1,1:Channel2,2:Channel3,3:Channel4,4:Channel5,5:Channel6,6:Channel7,7:Channel8,8:Channel9,9:Channel10,10:Channel11,11:Channel12,12:Channel13,13:Channel14,14:Channel15,15:Channel16</field>
      </param>
    </parameters>
    <parameters name="SID">
      <param humanName="System identification axis" name="SID_AXIS" documentation="Controls which axis are being excited.  Set to non-zero to see more parameters" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">Input Roll Angle</value>
          <value code="2">Input Pitch Angle</value>
          <value code="3">Input Yaw Angle</value>
          <value code="4">Recovery Roll Angle</value>
          <value code="5">Recovery Pitch Angle</value>
          <value code="6">Recovery Yaw Angle</value>
          <value code="7">Rate Roll</value>
          <value code="8">Rate Pitch</value>
          <value code="9">Rate Yaw</value>
          <value code="10">Mixer Roll</value>
          <value code="11">Mixer Pitch</value>
          <value code="12">Mixer Yaw</value>
          <value code="13">Mixer Thrust</value>
        </values>
      </param>
      <param humanName="System identification Chirp Magnitude" name="SID_MAGNITUDE" documentation="Magnitude of sweep in deg, deg/s and 0-1 for mixer outputs." user="Standard">
</param>
      <param humanName="System identification Start Frequency" name="SID_F_START_HZ" documentation="Frequency at the start of the sweep" user="Standard">
        <field name="Range">0.01 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="System identification Stop Frequency" name="SID_F_STOP_HZ" documentation="Frequency at the end of the sweep" user="Standard">
        <field name="Range">0.01 100</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="System identification Fade in time" name="SID_T_FADE_IN" documentation="Time to reach maximum amplitude of sweep" user="Standard">
        <field name="Range">0 20</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="System identification Total Sweep length" name="SID_T_REC" documentation="Time taken to complete the sweep" user="Standard">
        <field name="Range">0 255</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="System identification Fade out time" name="SID_T_FADE_OUT" documentation="Time to reach zero amplitude at the end of the sweep" user="Standard">
        <field name="Range">0 5</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
    </parameters>
    <parameters name="SPRAY_">
      <param humanName="Sprayer enable/disable" name="SPRAY_ENABLE" documentation="Allows you to enable (1) or disable (0) the sprayer" user="Standard">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Pump speed" name="SPRAY_PUMP_RATE" documentation="Desired pump speed when traveling 1m/s expressed as a percentage" user="Standard">
        <field name="Range">0 100</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
      <param humanName="Spinner rotation speed" name="SPRAY_SPINNER" documentation="Spinner's rotation speed in PWM (a higher rate will disperse the spray over a wider area horizontally)" user="Standard">
        <field name="Range">1000 2000</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="Speed minimum" name="SPRAY_SPEED_MIN" documentation="Speed minimum at which we will begin spraying" user="Standard">
        <field name="Range">0 1000</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Pump speed minimum" name="SPRAY_PUMP_MIN" documentation="Minimum pump speed expressed as a percentage" user="Standard">
        <field name="Range">0 100</field>
        <field name="Units">%</field>
        <field name="UnitText">percent</field>
      </param>
    </parameters>
    <parameters name="SR0_">
      <param humanName="Raw sensor stream rate" name="SR0_RAW_SENS" documentation="Stream rate of RAW_IMU, SCALED_IMU2, SCALED_IMU3, SCALED_PRESSURE, SCALED_PRESSURE2, SCALED_PRESSURE3 and SENSOR_OFFSETS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extended status stream rate to ground station" name="SR0_EXT_STAT" documentation="Stream rate of SYS_STATUS, POWER_STATUS, MCU_STATUS, MEMINFO, CURRENT_WAYPOINT, GPS_RAW_INT, GPS_RTK (if available), GPS2_RAW (if available), GPS2_RTK (if available), NAV_CONTROLLER_OUTPUT, and FENCE_STATUS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="RC Channel stream rate to ground station" name="SR0_RC_CHAN" documentation="Stream rate of SERVO_OUTPUT_RAW and RC_CHANNELS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Unused" name="SR0_RAW_CTRL" documentation="Unused" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position stream rate to ground station" name="SR0_POSITION" documentation="Stream rate of GLOBAL_POSITION_INT and LOCAL_POSITION_NED to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 1 stream rate to ground station" name="SR0_EXTRA1" documentation="Stream rate of ATTITUDE, SIMSTATE (SITL only), AHRS2 and PID_TUNING to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 2 stream rate to ground station" name="SR0_EXTRA2" documentation="Stream rate of VFR_HUD to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 3 stream rate to ground station" name="SR0_EXTRA3" documentation="Stream rate of AHRS, HWSTATUS, SYSTEM_TIME, RANGEFINDER, DISTANCE_SENSOR, TERRAIN_REQUEST, BATTERY2, MOUNT_STATUS, OPTICAL_FLOW, GIMBAL_REPORT, MAG_CAL_REPORT, MAG_CAL_PROGRESS, EKF_STATUS_REPORT, VIBRATION and RPM to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Parameter stream rate to ground station" name="SR0_PARAMS" documentation="Stream rate of PARAM_VALUE to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ADSB stream rate to ground station" name="SR0_ADSB" documentation="ADSB stream rate to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SR1_">
      <param humanName="Raw sensor stream rate" name="SR1_RAW_SENS" documentation="Stream rate of RAW_IMU, SCALED_IMU2, SCALED_IMU3, SCALED_PRESSURE, SCALED_PRESSURE2, SCALED_PRESSURE3 and SENSOR_OFFSETS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extended status stream rate to ground station" name="SR1_EXT_STAT" documentation="Stream rate of SYS_STATUS, POWER_STATUS, MCU_STATUS, MEMINFO, CURRENT_WAYPOINT, GPS_RAW_INT, GPS_RTK (if available), GPS2_RAW (if available), GPS2_RTK (if available), NAV_CONTROLLER_OUTPUT, and FENCE_STATUS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="RC Channel stream rate to ground station" name="SR1_RC_CHAN" documentation="Stream rate of SERVO_OUTPUT_RAW and RC_CHANNELS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Unused" name="SR1_RAW_CTRL" documentation="Unused" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position stream rate to ground station" name="SR1_POSITION" documentation="Stream rate of GLOBAL_POSITION_INT and LOCAL_POSITION_NED to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 1 stream rate to ground station" name="SR1_EXTRA1" documentation="Stream rate of ATTITUDE, SIMSTATE (SITL only), AHRS2 and PID_TUNING to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 2 stream rate to ground station" name="SR1_EXTRA2" documentation="Stream rate of VFR_HUD to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 3 stream rate to ground station" name="SR1_EXTRA3" documentation="Stream rate of AHRS, HWSTATUS, SYSTEM_TIME, RANGEFINDER, DISTANCE_SENSOR, TERRAIN_REQUEST, BATTERY2, MOUNT_STATUS, OPTICAL_FLOW, GIMBAL_REPORT, MAG_CAL_REPORT, MAG_CAL_PROGRESS, EKF_STATUS_REPORT, VIBRATION and RPM to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Parameter stream rate to ground station" name="SR1_PARAMS" documentation="Stream rate of PARAM_VALUE to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ADSB stream rate to ground station" name="SR1_ADSB" documentation="ADSB stream rate to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SR2_">
      <param humanName="Raw sensor stream rate" name="SR2_RAW_SENS" documentation="Stream rate of RAW_IMU, SCALED_IMU2, SCALED_IMU3, SCALED_PRESSURE, SCALED_PRESSURE2, SCALED_PRESSURE3 and SENSOR_OFFSETS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extended status stream rate to ground station" name="SR2_EXT_STAT" documentation="Stream rate of SYS_STATUS, POWER_STATUS, MCU_STATUS, MEMINFO, CURRENT_WAYPOINT, GPS_RAW_INT, GPS_RTK (if available), GPS2_RAW (if available), GPS2_RTK (if available), NAV_CONTROLLER_OUTPUT, and FENCE_STATUS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="RC Channel stream rate to ground station" name="SR2_RC_CHAN" documentation="Stream rate of SERVO_OUTPUT_RAW and RC_CHANNELS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Unused" name="SR2_RAW_CTRL" documentation="Unused" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position stream rate to ground station" name="SR2_POSITION" documentation="Stream rate of GLOBAL_POSITION_INT and LOCAL_POSITION_NED to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 1 stream rate to ground station" name="SR2_EXTRA1" documentation="Stream rate of ATTITUDE, SIMSTATE (SITL only), AHRS2 and PID_TUNING to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 2 stream rate to ground station" name="SR2_EXTRA2" documentation="Stream rate of VFR_HUD to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 3 stream rate to ground station" name="SR2_EXTRA3" documentation="Stream rate of AHRS, HWSTATUS, SYSTEM_TIME, RANGEFINDER, DISTANCE_SENSOR, TERRAIN_REQUEST, BATTERY2, MOUNT_STATUS, OPTICAL_FLOW, GIMBAL_REPORT, MAG_CAL_REPORT, MAG_CAL_PROGRESS, EKF_STATUS_REPORT, VIBRATION and RPM to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Parameter stream rate to ground station" name="SR2_PARAMS" documentation="Stream rate of PARAM_VALUE to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ADSB stream rate to ground station" name="SR2_ADSB" documentation="ADSB stream rate to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SR3_">
      <param humanName="Raw sensor stream rate" name="SR3_RAW_SENS" documentation="Stream rate of RAW_IMU, SCALED_IMU2, SCALED_IMU3, SCALED_PRESSURE, SCALED_PRESSURE2, SCALED_PRESSURE3 and SENSOR_OFFSETS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extended status stream rate to ground station" name="SR3_EXT_STAT" documentation="Stream rate of SYS_STATUS, POWER_STATUS, MCU_STATUS, MEMINFO, CURRENT_WAYPOINT, GPS_RAW_INT, GPS_RTK (if available), GPS2_RAW (if available), GPS2_RTK (if available), NAV_CONTROLLER_OUTPUT, and FENCE_STATUS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="RC Channel stream rate to ground station" name="SR3_RC_CHAN" documentation="Stream rate of SERVO_OUTPUT_RAW and RC_CHANNELS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Unused" name="SR3_RAW_CTRL" documentation="Unused" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position stream rate to ground station" name="SR3_POSITION" documentation="Stream rate of GLOBAL_POSITION_INT and LOCAL_POSITION_NED to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 1 stream rate to ground station" name="SR3_EXTRA1" documentation="Stream rate of ATTITUDE, SIMSTATE (SITL only), AHRS2 and PID_TUNING to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 2 stream rate to ground station" name="SR3_EXTRA2" documentation="Stream rate of VFR_HUD to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 3 stream rate to ground station" name="SR3_EXTRA3" documentation="Stream rate of AHRS, HWSTATUS, SYSTEM_TIME, RANGEFINDER, DISTANCE_SENSOR, TERRAIN_REQUEST, BATTERY2, MOUNT_STATUS, OPTICAL_FLOW, GIMBAL_REPORT, MAG_CAL_REPORT, MAG_CAL_PROGRESS, EKF_STATUS_REPORT, VIBRATION and RPM to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Parameter stream rate to ground station" name="SR3_PARAMS" documentation="Stream rate of PARAM_VALUE to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ADSB stream rate to ground station" name="SR3_ADSB" documentation="ADSB stream rate to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SR4_">
      <param humanName="Raw sensor stream rate" name="SR4_RAW_SENS" documentation="Stream rate of RAW_IMU, SCALED_IMU2, SCALED_IMU3, SCALED_PRESSURE, SCALED_PRESSURE2, SCALED_PRESSURE3 and SENSOR_OFFSETS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extended status stream rate to ground station" name="SR4_EXT_STAT" documentation="Stream rate of SYS_STATUS, POWER_STATUS, MCU_STATUS, MEMINFO, CURRENT_WAYPOINT, GPS_RAW_INT, GPS_RTK (if available), GPS2_RAW (if available), GPS2_RTK (if available), NAV_CONTROLLER_OUTPUT, and FENCE_STATUS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="RC Channel stream rate to ground station" name="SR4_RC_CHAN" documentation="Stream rate of SERVO_OUTPUT_RAW and RC_CHANNELS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Unused" name="SR4_RAW_CTRL" documentation="Unused" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position stream rate to ground station" name="SR4_POSITION" documentation="Stream rate of GLOBAL_POSITION_INT and LOCAL_POSITION_NED to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 1 stream rate to ground station" name="SR4_EXTRA1" documentation="Stream rate of ATTITUDE, SIMSTATE (SITL only), AHRS2 and PID_TUNING to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 2 stream rate to ground station" name="SR4_EXTRA2" documentation="Stream rate of VFR_HUD to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 3 stream rate to ground station" name="SR4_EXTRA3" documentation="Stream rate of AHRS, HWSTATUS, SYSTEM_TIME, RANGEFINDER, DISTANCE_SENSOR, TERRAIN_REQUEST, BATTERY2, MOUNT_STATUS, OPTICAL_FLOW, GIMBAL_REPORT, MAG_CAL_REPORT, MAG_CAL_PROGRESS, EKF_STATUS_REPORT, VIBRATION and RPM to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Parameter stream rate to ground station" name="SR4_PARAMS" documentation="Stream rate of PARAM_VALUE to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ADSB stream rate to ground station" name="SR4_ADSB" documentation="ADSB stream rate to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SR5_">
      <param humanName="Raw sensor stream rate" name="SR5_RAW_SENS" documentation="Stream rate of RAW_IMU, SCALED_IMU2, SCALED_IMU3, SCALED_PRESSURE, SCALED_PRESSURE2, SCALED_PRESSURE3 and SENSOR_OFFSETS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extended status stream rate to ground station" name="SR5_EXT_STAT" documentation="Stream rate of SYS_STATUS, POWER_STATUS, MCU_STATUS, MEMINFO, CURRENT_WAYPOINT, GPS_RAW_INT, GPS_RTK (if available), GPS2_RAW (if available), GPS2_RTK (if available), NAV_CONTROLLER_OUTPUT, and FENCE_STATUS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="RC Channel stream rate to ground station" name="SR5_RC_CHAN" documentation="Stream rate of SERVO_OUTPUT_RAW and RC_CHANNELS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Unused" name="SR5_RAW_CTRL" documentation="Unused" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position stream rate to ground station" name="SR5_POSITION" documentation="Stream rate of GLOBAL_POSITION_INT and LOCAL_POSITION_NED to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 1 stream rate to ground station" name="SR5_EXTRA1" documentation="Stream rate of ATTITUDE, SIMSTATE (SITL only), AHRS2 and PID_TUNING to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 2 stream rate to ground station" name="SR5_EXTRA2" documentation="Stream rate of VFR_HUD to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 3 stream rate to ground station" name="SR5_EXTRA3" documentation="Stream rate of AHRS, HWSTATUS, SYSTEM_TIME, RANGEFINDER, DISTANCE_SENSOR, TERRAIN_REQUEST, BATTERY2, MOUNT_STATUS, OPTICAL_FLOW, GIMBAL_REPORT, MAG_CAL_REPORT, MAG_CAL_PROGRESS, EKF_STATUS_REPORT, VIBRATION and RPM to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Parameter stream rate to ground station" name="SR5_PARAMS" documentation="Stream rate of PARAM_VALUE to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ADSB stream rate to ground station" name="SR5_ADSB" documentation="ADSB stream rate to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SR6_">
      <param humanName="Raw sensor stream rate" name="SR6_RAW_SENS" documentation="Stream rate of RAW_IMU, SCALED_IMU2, SCALED_IMU3, SCALED_PRESSURE, SCALED_PRESSURE2, SCALED_PRESSURE3 and SENSOR_OFFSETS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extended status stream rate to ground station" name="SR6_EXT_STAT" documentation="Stream rate of SYS_STATUS, POWER_STATUS, MCU_STATUS, MEMINFO, CURRENT_WAYPOINT, GPS_RAW_INT, GPS_RTK (if available), GPS2_RAW (if available), GPS2_RTK (if available), NAV_CONTROLLER_OUTPUT, and FENCE_STATUS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="RC Channel stream rate to ground station" name="SR6_RC_CHAN" documentation="Stream rate of SERVO_OUTPUT_RAW and RC_CHANNELS to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Unused" name="SR6_RAW_CTRL" documentation="Unused" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Position stream rate to ground station" name="SR6_POSITION" documentation="Stream rate of GLOBAL_POSITION_INT and LOCAL_POSITION_NED to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 1 stream rate to ground station" name="SR6_EXTRA1" documentation="Stream rate of ATTITUDE, SIMSTATE (SITL only), AHRS2 and PID_TUNING to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 2 stream rate to ground station" name="SR6_EXTRA2" documentation="Stream rate of VFR_HUD to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Extra data type 3 stream rate to ground station" name="SR6_EXTRA3" documentation="Stream rate of AHRS, HWSTATUS, SYSTEM_TIME, RANGEFINDER, DISTANCE_SENSOR, TERRAIN_REQUEST, BATTERY2, MOUNT_STATUS, OPTICAL_FLOW, GIMBAL_REPORT, MAG_CAL_REPORT, MAG_CAL_PROGRESS, EKF_STATUS_REPORT, VIBRATION and RPM to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="Parameter stream rate to ground station" name="SR6_PARAMS" documentation="Stream rate of PARAM_VALUE to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
      <param humanName="ADSB stream rate to ground station" name="SR6_ADSB" documentation="ADSB stream rate to ground station" user="Advanced">
        <field name="Range">0 50</field>
        <field name="Increment">1</field>
        <field name="Units">Hz</field>
        <field name="UnitText">hertz</field>
      </param>
    </parameters>
    <parameters name="SRTL_">
      <param humanName="SmartRTL accuracy" name="SRTL_ACCURACY" documentation="SmartRTL accuracy. The minimum distance between points." user="Advanced">
        <field name="Range">0 10</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="SmartRTL maximum number of points on path" name="SRTL_POINTS" documentation="SmartRTL maximum number of points on path. Set to 0 to disable SmartRTL.  100 points consumes about 3k of memory." user="Advanced">
        <field name="Range">0 500</field>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="SmartRTL options" name="SRTL_OPTIONS" documentation="Bitmask of SmartRTL options." user="Standard">
        <field name="Bitmask">2:Ignore pilot yaw</field>
      </param>
    </parameters>
    <parameters name="STAT">
      <param humanName="Boot Count" name="STAT_BOOTCNT" documentation="Number of times board has been booted" user="Standard">
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Total FlightTime" name="STAT_FLTTIME" documentation="Total FlightTime (seconds)" user="Standard">
        <field name="ReadOnly">True</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Total RunTime" name="STAT_RUNTIME" documentation="Total time autopilot has run" user="Standard">
        <field name="ReadOnly">True</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Statistics Reset Time" name="STAT_RESET" documentation="Seconds since January 1st 2016 (Unix epoch+1451606400) since statistics reset (set to 0 to reset statistics)" user="Standard">
        <field name="ReadOnly">True</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
    </parameters>
    <parameters name="TCAL">
      <param humanName="Temperature calibration enable" name="TCAL_ENABLED" documentation="Enable temperature calibration. Set to 0 to disable. Set to 1 to use learned values. Set to 2 to learn new values and use the values" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
          <value code="2">EnableAndLearn</value>
        </values>
      </param>
      <param humanName="Temperature calibration min learned temperature" name="TCAL_TEMP_MIN" documentation="Minimum learned temperature. This is automatically set by the learning process" user="Advanced">
        <field name="ReadOnly">True</field>
        <field name="Volatile">True</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Temperature calibration max learned temperature" name="TCAL_TEMP_MAX" documentation="Maximum learned temperature. This is automatically set by the learning process" user="Advanced">
        <field name="ReadOnly">True</field>
        <field name="Volatile">True</field>
        <field name="Units">degC</field>
        <field name="UnitText">degrees Celsius</field>
      </param>
      <param humanName="Temperature Calibration barometer exponent" name="TCAL_BARO_EXP" documentation="Learned exponent for barometer temperature correction" user="Advanced">
        <field name="ReadOnly">True</field>
        <field name="Volatile">True</field>
      </param>
    </parameters>
    <parameters name="TERRAIN_">
      <param humanName="Terrain data enable" name="TERRAIN_ENABLE" documentation="enable terrain data. This enables the vehicle storing a database of terrain data on the SD card. The terrain data is requested from the ground station as needed, and stored for later use on the SD card. To be useful the ground station must support TERRAIN_REQUEST messages and have access to a terrain database, such as the SRTM database." user="Advanced">
        <values>
          <value code="0">Disable</value>
          <value code="1">Enable</value>
        </values>
      </param>
      <param humanName="Terrain grid spacing" name="TERRAIN_SPACING" documentation="Distance between terrain grid points in meters. This controls the horizontal resolution of the terrain data that is stored on te SD card and requested from the ground station. If your GCS is using the ArduPilot SRTM database like Mission Planner or MAVProxy, then a resolution of 100 meters is appropriate. Grid spacings lower than 100 meters waste SD card space if the GCS cannot provide that resolution. The grid spacing also controls how much data is kept in memory during flight. A larger grid spacing will allow for a larger amount of data in memory. A grid spacing of 100 meters results in the vehicle keeping 12 grid squares in memory with each grid square having a size of 2.7 kilometers by 3.2 kilometers. Any additional grid squares are stored on the SD once they are fetched from the GCS and will be loaded as needed." user="Advanced">
        <field name="Increment">1</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Terrain options" name="TERRAIN_OPTIONS" documentation="Options to change behaviour of terrain system" user="Advanced">
        <field name="Bitmask">0:Disable Download</field>
      </param>
      <param humanName="Acceptance margin" name="TERRAIN_MARGIN" documentation="Margin in centi-meters to accept terrain data from the GCS. This can be used to allow older terrain data generated with less accurate latitude/longitude scaling to be used" user="Advanced">
        <field name="Range">0.05 50000</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Terrain reference offset maximum" name="TERRAIN_OFS_MAX" documentation="The maximum adjustment of terrain altitude based on the assumption that the vehicle is on the ground when it is armed. When the vehicle is armed the location of the vehicle is recorded, and when terrain data is available for that location a height adjustment for terrain data is calculated that aligns the terrain height at that location with the altitude recorded at arming. This height adjustment is applied to all terrain data. This parameter clamps the amount of adjustment. A value of zero disables the use of terrain height adjustment." user="Advanced">
        <field name="Range">0 50</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="TMODE">
      <param humanName="tmode enable " name="TMODE_ENABLE" documentation="tmode (or &quot;toy&quot; mode) gives a simplified user interface designed for mass market drones. Version1 is for the SkyViper V2450GPS. Version2 is for the F412 based boards" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">EnableVersion1</value>
          <value code="2">EnableVersion2</value>
        </values>
      </param>
      <param humanName="Tmode first mode" name="TMODE_MODE1" documentation="This is the initial mode when the vehicle is first turned on. This mode is assumed to not require GPS" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">FlowHold</value>
        </values>
      </param>
      <param humanName="Tmode second mode" name="TMODE_MODE2" documentation="This is the secondary mode. This mode is assumed to require GPS" user="Standard">
        <values>
          <value code="0">Stabilize</value>
          <value code="1">Acro</value>
          <value code="2">AltHold</value>
          <value code="3">Auto</value>
          <value code="4">Guided</value>
          <value code="5">Loiter</value>
          <value code="6">RTL</value>
          <value code="7">Circle</value>
          <value code="9">Land</value>
          <value code="11">Drift</value>
          <value code="13">Sport</value>
          <value code="14">Flip</value>
          <value code="15">AutoTune</value>
          <value code="16">PosHold</value>
          <value code="17">Brake</value>
          <value code="18">Throw</value>
          <value code="19">Avoid_ADSB</value>
          <value code="20">Guided_NoGPS</value>
          <value code="21">FlowHold</value>
        </values>
      </param>
      <param humanName="Tmode action 1" name="TMODE_ACTION1" documentation="This is the action taken when the left action button is pressed" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Tmode action 2" name="TMODE_ACTION2" documentation="This is the action taken when the right action button is pressed" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Tmode action 3" name="TMODE_ACTION3" documentation="This is the action taken when the power button is pressed" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Tmode action 4" name="TMODE_ACTION4" documentation="This is the action taken when the left action button is pressed while the left (Mode) button is held down" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Tmode action 5" name="TMODE_ACTION5" documentation="This is the action taken when the right action is pressed while the left (Mode) button is held down" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Tmode action 6" name="TMODE_ACTION6" documentation="This is the action taken when the power button is pressed while the left (Mode) button is held down" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Tmode left action" name="TMODE_LEFT" documentation="This is the action taken when the left (Mode) button is pressed" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Tmode left long action" name="TMODE_LEFT_LONG" documentation="This is the action taken when the left (Mode) button is long-pressed" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
          <value code="24">ModeFlowHold</value>
        </values>
      </param>
      <param humanName="Stick auto trim limit" name="TMODE_TRIM_AUTO" documentation="This is the amount of automatic stick trim that can be applied when disarmed with sticks not moving. It is a PWM limit value away from 1500" user="Standard">
        <field name="Range">0 100</field>
      </param>
      <param humanName="Tmode right action" name="TMODE_RIGHT" documentation="This is the action taken when the right (Return) button is pressed" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">TakePhoto</value>
          <value code="2">ToggleVideo</value>
          <value code="3">ModeAcro</value>
          <value code="4">ModeAltHold</value>
          <value code="5">ModeAuto</value>
          <value code="6">ModeLoiter</value>
          <value code="7">ModeRTL</value>
          <value code="8">ModeCircle</value>
          <value code="9">ModeLand</value>
          <value code="10">ModeDrift</value>
          <value code="11">ModeSport</value>
          <value code="12">ModeAutoTune</value>
          <value code="13">ModePosHold</value>
          <value code="14">ModeBrake</value>
          <value code="15">ModeThrow</value>
          <value code="16">Flip</value>
          <value code="17">ModeStabilize</value>
          <value code="18">Disarm</value>
          <value code="19">ToggleMode</value>
          <value code="20">Arm-Land-RTL</value>
          <value code="21">ToggleSimpleMode</value>
          <value code="22">ToggleSuperSimpleMode</value>
          <value code="23">MotorLoadTest</value>
        </values>
      </param>
      <param humanName="Tmode flags" name="TMODE_FLAGS" documentation="Bitmask of flags to change the behaviour of tmode. DisarmOnLowThrottle means to disarm if throttle is held down for 1 second when landed. ArmOnHighThrottle means to arm if throttle is above 80% for 1 second. UpgradeToLoiter means to allow takeoff in LOITER mode by switching to ALT_HOLD, then auto-upgrading to LOITER once GPS is available. RTLStickCancel means that on large stick inputs in RTL mode that LOITER mode is engaged" user="Standard">
        <field name="Bitmask">0:DisarmOnLowThrottle,1:ArmOnHighThrottle,2:UpgradeToLoiter,3:RTLStickCancel</field>
      </param>
      <param humanName="Min voltage for output limiting" name="TMODE_VMIN" documentation="This is the battery voltage below which no output limiting is done" user="Advanced">
        <field name="Range">0 5</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Max voltage for output limiting" name="TMODE_VMAX" documentation="This is the battery voltage above which thrust min is used" user="Advanced">
        <field name="Range">0 5</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Min thrust multiplier" name="TMODE_TMIN" documentation="This sets the thrust multiplier when voltage is high" user="Advanced">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Max thrust multiplier" name="TMODE_TMAX" documentation="This sets the thrust multiplier when voltage is low" user="Advanced">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Load test multiplier" name="TMODE_LOAD_MUL" documentation="This scales the load test output, as a value between 0 and 1" user="Advanced">
        <field name="Range">0 1</field>
        <field name="Increment">0.01</field>
      </param>
      <param humanName="Load test filter" name="TMODE_LOAD_FILT" documentation="This filters the load test output. A value of 1 means no filter. 2 means values are repeated once. 3 means values are repeated 3 times, etc" user="Advanced">
        <field name="Range">0 100</field>
      </param>
      <param humanName="Load test type" name="TMODE_LOAD_TYPE" documentation="This sets the type of load test" user="Advanced">
        <values>
          <value code="0">ConstantThrust</value>
          <value code="1">LogReplay1</value>
          <value code="2">LogReplay2</value>
        </values>
      </param>
    </parameters>
    <parameters name="VISO">
      <param humanName="Visual odometry camera connection type" name="VISO_TYPE" documentation="Visual odometry camera connection type" user="Advanced">
        <values>
          <value code="0">None</value>
          <value code="1">MAVLink</value>
          <value code="2">IntelT265</value>
          <value code="3">VOXL(ModalAI)</value>
        </values>
        <field name="RebootRequired">True</field>
      </param>
      <param humanName="Visual odometry camera X position offset" name="VISO_POS_X" documentation="X position of the camera in body frame. Positive X is forward of the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Visual odometry camera Y position offset" name="VISO_POS_Y" documentation="Y position of the camera in body frame. Positive Y is to the right of the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Visual odometry camera Z position offset" name="VISO_POS_Z" documentation="Z position of the camera in body frame. Positive Z is down from the origin." user="Advanced">
        <field name="Range">-5 5</field>
        <field name="Increment">0.01</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Visual odometery camera orientation" name="VISO_ORIENT" documentation="Visual odometery camera orientation" user="Advanced">
        <values>
          <value code="0">Forward</value>
          <value code="2">Right</value>
          <value code="4">Back</value>
          <value code="6">Left</value>
          <value code="24">Up</value>
          <value code="25">Down</value>
        </values>
      </param>
      <param humanName="Visual odometry scaling factor" name="VISO_SCALE" documentation="Visual odometry scaling factor applied to position estimates from sensor" user="Advanced">
</param>
      <param humanName="Visual odometry sensor delay" name="VISO_DELAY_MS" documentation="Visual odometry sensor delay relative to inertial measurements" user="Advanced">
        <field name="Range">0 250</field>
        <field name="Units">ms</field>
        <field name="UnitText">milliseconds</field>
      </param>
      <param humanName="Visual odometry velocity measurement noise" name="VISO_VEL_M_NSE" documentation="Visual odometry velocity measurement noise in m/s" user="Advanced">
        <field name="Range">0.05 5.0</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Visual odometry position measurement noise " name="VISO_POS_M_NSE" documentation="Visual odometry position measurement noise minimum (meters). This value will be used if the sensor provides a lower noise value (or no noise value)" user="Advanced">
        <field name="Range">0.1 10.0</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Visual odometry yaw measurement noise" name="VISO_YAW_M_NSE" documentation="Visual odometry yaw measurement noise minimum (radians), This value will be used if the sensor provides a lower noise value (or no noise value)" user="Advanced">
        <field name="Range">0.05 1.0</field>
        <field name="Units">rad</field>
        <field name="UnitText">radians</field>
      </param>
    </parameters>
    <parameters name="VTX_">
      <param humanName="Is the Video Transmitter enabled or not" name="VTX_ENABLE" documentation="Toggles the Video Transmitter on and off">
        <values>
          <value code="0">Disable</value>
          <value code="1">Enable</value>
        </values>
      </param>
      <param humanName="Video Transmitter Power Level" name="VTX_POWER" documentation="Video Transmitter Power Level. Different VTXs support different power levels, the power level chosen will be rounded down to the nearest supported power level">
        <field name="Range">1 1000</field>
      </param>
      <param humanName="Video Transmitter Channel" name="VTX_CHANNEL" documentation="Video Transmitter Channel" user="Standard">
        <field name="Range">0 7</field>
      </param>
      <param humanName="Video Transmitter Band" name="VTX_BAND" documentation="Video Transmitter Band" user="Standard">
        <values>
          <value code="0">Band A</value>
          <value code="1">Band B</value>
          <value code="2">Band E</value>
          <value code="3">Airwave</value>
          <value code="4">RaceBand</value>
          <value code="5">Low RaceBand</value>
        </values>
      </param>
      <param humanName="Video Transmitter Frequency" name="VTX_FREQ" documentation="Video Transmitter Frequency. The frequency is derived from the setting of BAND and CHANNEL" user="Standard">
        <field name="Range">5000 6000</field>
        <field name="ReadOnly">True</field>
      </param>
      <param humanName="Video Transmitter Options" name="VTX_OPTIONS" documentation="Video Transmitter Options. Pitmode puts the VTX in a low power state. Unlocked enables certain restricted frequencies and power levels. Do not enable the Unlocked option unless you have appropriate permissions in your jurisdiction to transmit at high power levels." user="Advanced">
        <field name="Bitmask">0:Pitmode,1:Pitmode until armed,2:Pitmode when disarmed,3:Unlocked,4:Add leading zero byte to requests</field>
      </param>
      <param humanName="Video Transmitter Max Power Level" name="VTX_MAX_POWER" documentation="Video Transmitter Maximum Power Level. Different VTXs support different power levels, this prevents the power aux switch from requesting too high a power level. The switch supports 6 power levels and the selected power will be a subdivision between 0 and this setting.">
        <field name="Range">25 1000</field>
      </param>
    </parameters>
    <parameters name="WINCH">
      <param humanName="Winch Type" name="WINCH_TYPE" documentation="Winch Type" user="Standard">
        <values>
          <value code="0">None</value>
          <value code="1">PWM</value>
          <value code="2">Daiwa</value>
        </values>
      </param>
      <param humanName="Winch deploy or retract rate maximum" name="WINCH_RATE_MAX" documentation="Winch deploy or retract rate maximum.  Set to maximum rate with no load." user="Standard">
        <field name="Range">0 10</field>
        <field name="Units">m/s</field>
        <field name="UnitText">meters per second</field>
      </param>
      <param humanName="Winch control position error P gain" name="WINCH_POS_P" documentation="Winch control position error P gain" user="Standard">
        <field name="Range">0.01 10.0</field>
      </param>
    </parameters>
    <parameters name="WPNAV_">
      <param humanName="Waypoint Horizontal Speed Target" name="WPNAV_SPEED" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain horizontally during a WP mission" user="Standard">
        <field name="Range">20 2000</field>
        <field name="Increment">50</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Waypoint Radius" name="WPNAV_RADIUS" documentation="Defines the distance from a waypoint, that when crossed indicates the wp has been hit." user="Standard">
        <field name="Range">5 1000</field>
        <field name="Increment">1</field>
        <field name="Units">cm</field>
        <field name="UnitText">centimeters</field>
      </param>
      <param humanName="Waypoint Climb Speed Target" name="WPNAV_SPEED_UP" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain while climbing during a WP mission" user="Standard">
        <field name="Range">10 1000</field>
        <field name="Increment">50</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Waypoint Descent Speed Target" name="WPNAV_SPEED_DN" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain while descending during a WP mission" user="Standard">
        <field name="Range">10 500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s</field>
        <field name="UnitText">centimeters per second</field>
      </param>
      <param humanName="Waypoint Acceleration " name="WPNAV_ACCEL" documentation="Defines the horizontal acceleration in cm/s/s used during missions" user="Standard">
        <field name="Range">50 500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s/s</field>
        <field name="UnitText">centimeters per square second</field>
      </param>
      <param humanName="Waypoint Vertical Acceleration" name="WPNAV_ACCEL_Z" documentation="Defines the vertical acceleration in cm/s/s used during missions" user="Standard">
        <field name="Range">50 500</field>
        <field name="Increment">10</field>
        <field name="Units">cm/s/s</field>
        <field name="UnitText">centimeters per square second</field>
      </param>
      <param humanName="Waypoint missions use rangefinder for terrain following" name="WPNAV_RFND_USE" documentation="This controls if waypoint missions use rangefinder for terrain following" user="Advanced">
        <values>
          <value code="0">Disable</value>
          <value code="1">Enable</value>
        </values>
      </param>
      <param humanName="Waypoint Jerk" name="WPNAV_JERK" documentation="Defines the horizontal jerk in m/s/s used during missions" user="Standard">
        <field name="Range">1 20</field>
        <field name="Units">m/s/s/s</field>
        <field name="UnitText">meters per cubic second</field>
      </param>
      <param humanName="Waypoint Terrain following altitude margin" name="WPNAV_TER_MARGIN" documentation="Waypoint Terrain following altitude margin.  Vehicle will stop if distance from target altitude is larger than this margin (in meters)" user="Advanced">
        <field name="Range">0.1 100</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
    </parameters>
    <parameters name="ZIGZ_">
      <param humanName="ZigZag auto enable/disable" name="ZIGZ_AUTO_ENABLE" documentation="Allows you to enable (1) or disable (0) ZigZag auto feature" user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="Auto sprayer in ZigZag" name="ZIGZ_SPRAYER" documentation="Enable the auto sprayer in ZigZag mode. SPRAY_ENABLE = 1 and SERVOx_FUNCTION = 22(SprayerPump) / 23(SprayerSpinner) also must be set. This makes the sprayer on while moving to destination A or B. The sprayer will stop if the vehicle reaches destination or the flight mode is changed from ZigZag to other." user="Advanced">
        <values>
          <value code="0">Disabled</value>
          <value code="1">Enabled</value>
        </values>
      </param>
      <param humanName="The delay for zigzag waypoint" name="ZIGZ_WP_DELAY" documentation="Waiting time after reached the destination" user="Advanced">
        <field name="Range">0 127</field>
        <field name="Units">s</field>
        <field name="UnitText">seconds</field>
      </param>
      <param humanName="Sideways distance in ZigZag auto" name="ZIGZ_SIDE_DIST" documentation="The distance to move sideways in ZigZag mode" user="Advanced">
        <field name="Range">0.1 100</field>
        <field name="Units">m</field>
        <field name="UnitText">meters</field>
      </param>
      <param humanName="Sideways direction in ZigZag auto" name="ZIGZ_DIRECTION" documentation="The direction to move sideways in ZigZag mode" user="Advanced">
        <values>
          <value code="0">forward</value>
          <value code="1">right</value>
          <value code="2">backward</value>
          <value code="3">left</value>
        </values>
      </param>
      <param humanName="Total number of lines" name="ZIGZ_LINE_NUM" documentation="Total number of lines for ZigZag auto if 1 or more. -1: Infinity, 0: Just moving to sideways" user="Advanced">
        <field name="Range">-1 32767</field>
      </param>
    </parameters>
  </libraries>
</paramfile>
